Sponsored
Sponsored
This approach leverages a set data structure to track the unique characters. The idea is to iterate through the sentence and add each letter to a set. Finally, we check if the size of the set is 26, which indicates that all letters of the alphabet are present.
Time Complexity: O(n), where n is the length of the sentence.
Space Complexity: O(1), since we use a fixed-size array of 26.
1#include <string>
2#include <unordered_set>
3using namespace std;
4
5bool checkIfPangram(string sentence) {
6 unordered_set<char> seen;
7 for (char ch : sentence) {
8 seen.insert(ch);
9 }
10 return seen.size() == 26;
11}
12
In this C++ solution, an unordered_set is used to store the unique characters from the sentence. By the end of the iteration, if the size of the set is 26, we return true, indicating the sentence is a pangram.
This method uses a boolean array of size 26 to directly map each alphabet character to an index. By iterating over each character in the sentence, we update its corresponding index in the array to true. The sentence is confirmed as a pangram if all indices in the boolean array are true.
Time Complexity: O(n), with n denoting sentence length; we check each letter.
Space Complexity: O(1), constant size boolean array.
1 public bool CheckIfPangram(string sentence) {
bool[] alphabet = new bool[26];
foreach (char ch in sentence) {
alphabet[ch - 'a'] = true;
}
foreach (bool b in alphabet) {
if (!b) return false;
}
return true;
}
}
C# caters to a boolean array indicating the usage of each alphabet letter within the input text. Each letter marks its index to true while a conclusive loop guarantees a complete alphabet presence.