LeetCode 1832. Check if the Sentence Is Pangram Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
1832. Check if the Sentence Is Pangram

Description

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.

Solutions

Solution 1: Array or Hash Table

Traverse the string sentence, use an array or hash table to record the letters that have appeared, and finally check whether there are 26 letters in the array or hash table.

The time complexity is O(n), and the space complexity is O(C). Where n is the length of the string sentence, and C is the size of the character set. In this problem, C = 26.

PythonJavaC++GoTypeScriptRustC
class Solution: def checkIfPangram(self, sentence: str) -> bool: return len(set(sentence)) == 26(code-box)

Solution 2: Bit Manipulation

We can also use an integer mask to record the letters that have appeared, where the i-th bit of mask indicates whether the i-th letter has appeared.

Finally, check whether there are 26 1s in the binary representation of mask, that is, check whether mask is equal to 226 - 1. If so, return true, otherwise return false.

The time complexity is O(n), where n is the length of the string sentence. The space complexity is O(1).

PythonJavaC++GoTypeScriptRustC
class Solution: def checkIfPangram(self, sentence: str) -> bool: mask = 0 for c in sentence: mask |= 1 << (ord(c) - ord('a')) return mask == (1 << 26) - 1(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !