领扣LintCode算法问题答案-1485. 圣杯咒语
目录
1485. 圣杯咒语描述样例 1:样例 2:
题解鸣谢
1485. 圣杯咒语
描述
在圣杯世界里面,有一种隐藏咒语,这个咒语的秘密是一段英文中同时出现大小写的字母中最大的那一个,现在给你一段英文,你能把这个字母找出来嘛? ps:一定存在答案
英文长度不会超过100000
样例 1:
输入:"aAbb"
输出:A
解释:因为只有小写的b没有大写的,而a既有大写又有小写,所以a是满足条件的最大的字母,也是满足条件的唯一的字母
样例 2:
输入:"aabbBCcDd"
输出:D
解释:因为满足题意的有三个字母分别是'b','c','d'其中d最大,所以答案是d
题解
public class Solution {
public char holyGrailspell(String Spell
) {
boolean[] lowerChar
= new boolean[26];
boolean[] upperChar
= new boolean[26];
for (char c
: Spell
.toCharArray()) {
if (Character
.isUpperCase(c
)) {
upperChar
[c
- 65] = true;
} else {
lowerChar
[c
- 97] = true;
}
}
for (int i
= 25; i
>= 0; i
--) {
if (upperChar
[i
]
&& lowerChar
[i
]) {
return (char) ('A' + i
);
}
}
return 'a';
}
}
原题链接点这里
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。