Python program to check if given string is pangram
Given a string, write a Python program to check if that string is Pangram or not. A pangram is a sentence containing every letter in the English Alphabet.
Input : The quick brown fox jumps over the lazy dog Output : Yes Input : abcdefgxyz Output : No
We have already discussed the naive approach of pangram checking in this article. Now, let’s discuss the Pythonic approaches to do the same.
Approach #1: Pythonic Naive This method uses a loop to check if each character of the string belongs to the alphabet set or not.
Time Complexity: O(n), where n is the length of the given string
Auxiliary Space: O(1)
Approach #2: Using Python Set Convert the given string into set and then check if the alphabet set is greater than or equal to it or not. If the string set is greater or equal, print ‘Yes’ otherwise ‘No’.
Time complexity: O(n), where n is the length of string.
Auxiliary space: O(1), as the size of the alphabet set is constant.
Approach #3: Alternative to set method This is another method that uses Python set to find if the string is Pangram or not. We make set of lowercase alphabets and the given string. If set of given string is subtracted from the set of alphabets, we get to know whether the string is pangram or not.
Time complexity: O(1), as the code is iterating through all 26 characters of the alphabet only once.
Auxiliary space: O(1), as the code creates two sets of 26 characters each.
Approach #4 : ASCII method Check if each character of the string lies between the ASCII range of lowercase alphabets i.e. 96 to 122.
Time Complexity: O(n), where n is the length of the input string. The algorithm only needs to scan the input string once and check each character once, so the time complexity is linear.
Auxiliary Space: O(1), as the algorithm only uses a constant amount of extra memory to store the alphabet set and variables for the character ordinal values and the count of lowercase letters in the string.