题目地址:
https://www.lintcode.com/problem/holy-grail-spell/description
给定一个只含英文字母的长 n n n的字符串,返回大小写都出现在其中的字典序最大的字母的大写。题目保证解存在。
代码如下:
public class Solution {
/**
* @param Spell: The Spell
* @return: nothing
*/
public char holyGrailspell(String Spell) {
// Write your code here
boolean[] exista = new boolean[26], existA = new boolean[26];
for (int i = 0; i < Spell.length(); i++) {
char ch = Spell.charAt(i);
if ('a' <= ch && ch <= 'z') {
exista[ch - 'a'] = true;
} else {
existA[ch - 'A'] = true;
}
}
for (int i = 25; i >= 0; i--) {
if (exista[i] && existA[i]) {
return (char) ('A' + i);
}
}
return 0;
}
}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。