给出一个字符串检查它是否是Pangram。pangram是包含英语字母表中每个字母的句子。 例子:敏捷的棕色狐狸跳过懒惰的狗”是一个Pangram[包含从’a’到’z’的所有字符] “敏捷的棕色狐狸跳过了狗”不是一个Pangram[不包含从’a’到’z’的所有字符,因为’l’、’z’、’y’缺失]
null
我们创建一个布尔类型的mark[]数组。我们遍历字符串中的所有字符,每当我们看到一个字符,我们就标记它。小写和大写被认为是相同的。所以“A”和“A”在索引0中被标记,类似地,“Z”和“Z”在索引25中被标记。
在遍历所有字符后,我们检查是否所有字符都已标记。如果不是,则返回false,因为这不是pangram,否则返回true。
C++
// A C++ Program to check if the given // string is a pangram or not #include <bits/stdc++.h> using namespace std; // Returns true if the string is pangram else false bool checkPangram(string& str) { // Create a hash table to mark the characters // present in the string vector< bool > mark(26, false ); // For indexing in mark[] int index; // Traverse all characters for ( int i = 0; i < str.length(); i++) { // If uppercase character, subtract 'A' // to find index. if ( 'A' <= str[i] && str[i] <= 'Z' ) index = str[i] - 'A' ; // If lowercase character, subtract 'a' // to find index. else if ( 'a' <= str[i] && str[i] <= 'z' ) index = str[i] - 'a' ; // If this character is other than english // lowercase and uppercase characters. else continue ; mark[index] = true ; } // Return false if any character is unmarked for ( int i = 0; i <= 25; i++) if (mark[i] == false ) return ( false ); // If all characters were present return ( true ); } // Driver Program to test above functions int main() { string str = "The quick brown fox jumps over the" " lazy dog" ; if (checkPangram(str) == true ) printf ( " %s is a pangram" , str.c_str()); else printf ( " %s is not a pangram" , str.c_str()); return (0); } |
JAVA
// Java Program to illustrate Pangram class GFG { // Returns true if the string // is pangram else false public static boolean checkPangram(String str) { // Create a hash table to mark the // characters present in the string // By default all the elements of // mark would be false. boolean [] mark = new boolean [ 26 ]; // For indexing in mark[] int index = 0 ; // Traverse all characters for ( int i = 0 ; i < str.length(); i++) { // If uppercase character, subtract 'A' // to find index. if ( 'A' <= str.charAt(i) && str.charAt(i) <= 'Z' ) index = str.charAt(i) - 'A' ; // If lowercase character, subtract 'a' // to find index. else if ( 'a' <= str.charAt(i) && str.charAt(i) <= 'z' ) index = str.charAt(i) - 'a' ; // If this character is other than english // lowercase and uppercase characters. else continue ; mark[index] = true ; } // Return false if any character is unmarked for ( int i = 0 ; i <= 25 ; i++) if (mark[i] == false ) return ( false ); // If all characters were present return ( true ); } // Driver Code public static void main(String[] args) { String str = "The quick brown fox jumps over the lazy dog" ; if (checkPangram(str) == true ) System.out.print(str + " is a pangram." ); else System.out.print(str + " is not a pangram." ); } } |
Python3
# A Python Program to check if the given # string is a pangram or not def checkPangram(s): List = [] # create list of 26 characters and set false each entry for i in range ( 26 ): List .append( False ) # converting the sentence to lowercase and iterating # over the sentence for c in s.lower(): if not c = = " " : # make the corresponding entry True List [ ord (c) - ord ( 'a' )] = True # check if any character is missing then return False for ch in List : if ch = = False : return False return True # Driver Program to test above functions sentence = "The quick brown fox jumps over the little lazy dog" if (checkPangram(sentence)): print ( '"'+sentence+'"' ) print ( "is a pangram" ) else : print ( '"'+sentence+'"' ) print ( "is not a pangram" ) # This code is contributed by Danish Mushtaq |
C#
// C# Program to illustrate Pangram using System; class GFG { // Returns true if the string // is pangram else false public static bool checkPangram( string str) { // Create a hash table to mark the // characters present in the string // By default all the elements of // mark would be false. bool [] mark = new bool [26]; // For indexing in mark[] int index = 0; // Traverse all characters for ( int i = 0; i < str.Length; i++) { // If uppercase character, subtract 'A' // to find index. if ( 'A' <= str[i] && str[i] <= 'Z' ) index = str[i] - 'A' ; // If lowercase character, // subtract 'a' to find // index. else if ( 'a' <= str[i] && str[i] <= 'z' ) index = str[i] - 'a' ; // If this character is other than english // lowercase and uppercase characters. else continue ; mark[index] = true ; } // Return false if any // character is unmarked for ( int i = 0; i <= 25; i++) if (mark[i] == false ) return ( false ); // If all characters // were present return ( true ); } // Driver Code public static void Main() { string str = "The quick brown fox jumps over the lazy dog" ; if (checkPangram(str) == true ) Console.WriteLine(str + " is a pangram." ); else Console.WriteLine(str + " is not a pangram." ); } } // This code is contributed by nitin mittal. |
Javascript
<script> // A JavaScript Program to check if the given // string is a pangram or not // Returns true if the string is pangram else false function checkPangram(str) { // Create a hash table to mark the characters // present in the string mark = new Array(26).fill( false ); // For indexing in mark[] let index; // Traverse all characters for (let i = 0; i < str.length; i++) { // If uppercase character, subtract 'A' // to find index. if ( 'A' <= str[i] && str[i] <= 'Z' ) index = str.charCodeAt(i) - 'A' .charCodeAt(0); // If lowercase character, subtract 'a' // to find index. else if ( 'a' <= str[i] && str[i] <= 'z' ) index = str.charCodeAt(i) - 'a' .charCodeAt(0); // If this character is other than english // lowercase and uppercase characters. else continue ; mark[index] = true ; } // Return false if any character is unmarked for (let i = 0; i <= 25; i++) if (mark[i] == false ) return false ; // If all characters were present return true ; } // Driver Program to test above functions let str = "The quick brown fox jumps over the lazy dog" ; document.write(str, "</br>" ) if (checkPangram(str) == true ) document.write( "is a pangram" ); else document.write( "is not a pangram" ); // This code is contributed by shinjanpatra. </script> |
输出:
"The quick brown fox jumps over the lazy dog" is a pangram
时间复杂度:O(n),其中n是字符串的长度 辅助空间–O(1)。
https://youtu.be/Yv4ARV
-Hrow 本文由 拉希特·贝尔瓦里亚 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以写一篇文章,然后将文章邮寄给评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END