到目前为止,我已经想出了这个。我试图最小化字符串操作并隔离内置数据类型、数组和整数操作的解决方案。
我正在寻找更优雅的方法来检查 java 中的 pangram 字符串。
优雅,就像代码行数最少一样,也欢迎其他有效的算法。
请提供不带 lambda 表达式的建议。
private static boolean isPangrams(String ip) {
char[] characterArray = ip.toLowerCase().toCharArray();
int map[] = new int[26];
int sum = 0;
for(char current : characterArray) {
int asciiCode = (int) current;
if (asciiCode >= 97 && asciiCode <= 122) {
if (map[122 - asciiCode] == 0) {
sum += 1;
map[122 - asciiCode] = 1;
}
}
}
return sum == 26;
}