A pangram is a sentence where every letter of the English alphabet appears at least once.
Given a string sentence
containing only lowercase English letters, return true
if sentence
is a pangram, or false
otherwise.
Example 1:
Input: sentence = "thequickbrownfoxjumpsoverthelazydog" Output: true Explanation: sentence contains at least one of every letter of the English alphabet.
Example 2:
Input: sentence = "leetcode" Output: false
Constraints:
1 <= sentence.length <= 1000
sentence
consists of lowercase English letters.
Set:
class Solution:
def checkIfPangram(self, sentence: str) -> bool:
return len(set(sentence)) == 26
Bit Manipulation:
class Solution:
def checkIfPangram(self, sentence: str) -> bool:
res = 0
for c in sentence:
diff = ord(c) - ord('a')
res |= (1 << diff)
if res == 0x3ffffff:
return True
return False
HashSet:
class Solution {
public boolean checkIfPangram(String sentence) {
Set<Character> s = new HashSet<>();
for (int i = 0; i < sentence.length(); ++i) {
s.add(sentence.charAt(i));
if (s.size() == 26) return true;
}
return false;
}
}
Bit Manipulation:
class Solution {
public boolean checkIfPangram(String sentence) {
int res = 0;
for (int i = 0; i < sentence.length(); ++i) {
int diff = sentence.charAt(i) - 'a';
res |= (1 << diff);
if (res == 0x3ffffff) return true;
}
return false;
}
}