检查字符串是否具有字母的所有字母
问题内容:
检查给定字符串中所有字母的最佳逻辑是什么?
如果提供的字符串中所有26个字母均可用,我想检查一下并执行操作。例如。用五打酒壶装满我的盒子。
- 使用哈希会有用吗?
- 还是使用位图?或其他方式?
顺便说一句,我的代码将使用Java。
问题答案:
尚未完全优化:
public static void main(String... a) {
String s = "Pack my box with five dozen liquor jugs.";
int i=0;
for(char c : s.toCharArray()) {
int x = Character.toUpperCase(c);
if (x >= 'A' && x <= 'Z') {
i |= 1 << (x - 'A');
}
}
if (i == (i | ((1 << (1 + 'Z' - 'A')) - 1))) {
System.out.println("ok");
}
}