一段英文中同时出现大小写的字母中最大的那一个,现在给你一段英文,你能把这个字母找出来嘛?
ps:一定存在答案
英文长度不会超过100000
样例 1:
输入:"aAbb"
输出:A
解释:因为只有小写的b没有大写的,而a既有大写又有小写,
所以a是满足条件的最大的字母,也是满足条件的唯一的字母
样例 2:
输入:"aabbBCcDd"
输出:D
解释:因为满足题意的有三个字母分别是'b','c','d'其中d最大,所以答案是d
class Solution {
public:
/**
* @param Spell: The Spell
* @return: nothing
*/
char holyGrailspell(string &Spell) {
// Write your code here
vector<int> ans(26);
for(auto c : Spell)
{
if(isupper(c))
{
int i = c-'A';
if(ans[i]==0 || ans[i]==1)
ans[i] += 2;
}
else
{
int i = c-'a';
if(ans[i]==0 || ans[i]==2)
ans[i] += 1;
}
}
for(int i = 25; i >= 0; i--)
if(ans[i] == 3)
return char('A'+i);
return '*';
}
};
50ms C++