Pangram检查

给出一个字符串检查它是否是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
喜欢就支持一下吧
点赞9 分享