- 掘金团队号上线,助你 Offer 临门! 点击 查看活动详情
本题核心
每天一道简单算法,防止老年痴呆~
题目描述
全字母句 指包含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。
如果是,返回 true ;否则,返回 false 。
示例 1:
输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
示例 2:
输入:sentence = "leetcode"
输出:false
提示:
- 1 <= sentence.length <= 1000
- sentence 由小写英语字母组成
解题思路
姐法1.暴力解,26个字母挨个判断给定字符串是否有,没有就是false. 姐法2.利用Set的特性,Set最后的长度小于26,则不是全字母句
解题代码
public boolean checkIfPangram(String sentence) {
if (sentence.length() < 26) {
return false;
} else {
String[] az = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
for (String str : az) {
if (!sentence.contains(str)) {
return false;
}
}
return true;
}
}
解法2
public boolean checkIfPangram(String sentence) {
if (sentence.length()<26) {
return false;
}
Set<Character> set = new HashSet<>();
for (int i = 0; i < sentence.length(); i++) {
set.add(sentence.charAt(i));
}
return set.size() == 26;
}
##总结
简单算法,对于防止老年痴呆,非常好用👌