Dada la string str , la tarea es escribir el programa Java para verificar si la string dada es un pangrama o no.
Una string es una string de pangrama si contiene todos los caracteres de los alfabetos ignorando las mayúsculas y minúsculas de los alfabetos.
Ejemplos:
Entrada: str = “ Abcdefghijklmnopqrstuvwxyz”
Salida: Sí
Explicación: La string dada contiene todas las letras de la a a la z (ignorando mayúsculas y minúsculas).Entrada: str = “GeeksForGeeks”
Salida: No
Explicación: La string dada no contiene todas las letras de la a a la z (ignorando mayúsculas y minúsculas).
Método 1: usar una array de frecuencias:
- Convierta cada letra de la string a minúsculas o mayúsculas .
- Cree una array de frecuencias para marcar la frecuencia de cada letra de la a a la z .
- Luego, recorra la array de frecuencias y si hay alguna letra que no está presente en la string dada, imprima No , de lo contrario imprima Sí .
A continuación se muestra la implementación del enfoque anterior:
Java
// Java program for the above approach class GFG { static int size = 26; // Function to check if ch is a letter static boolean isLetter(char ch) { if (!Character.isLetter(ch)) return false; return true; } // Function to check if a string // contains all the letters from // a to z static boolean allLetter(String str, int len) { // Convert the given string // into lowercase str = str.toLowerCase(); // Create a frequency array to // mark the present letters boolean[] present = new boolean[size]; // Traverse for each character // of the string for (int i = 0; i < len; i++) { // If the current character // is a letter if (isLetter(str.charAt(i))) { // Mark current letter as present int letter = str.charAt(i) - 'a'; present[letter] = true; } } // Traverse for every letter // from a to z for (int i = 0; i < size; i++) { // If the current character // is not present in string // then return false, // otherwise return true if (!present[i]) return false; } return true; } // Driver Code public static void main(String args[]) { // Given string str String str = "Abcdefghijklmnopqrstuvwxyz"; int len = str.length(); // Function Call if (allLetter(str, len)) System.out.println("Yes"); else System.out.println("No"); } }
Yes
Complejidad temporal: O(N)
Espacio auxiliar: O(26)
Método 2: usar Traversal: la idea es convertir la string dada en alfabetos en minúsculas y luego iterar sobre cada carácter de la a a la z y verificar si la string dada contiene todas las letras de la a a la z. Si todas las letras están presentes, imprima Sí , de lo contrario imprima No.
A continuación se muestra la implementación del enfoque anterior:
Java
// Java program for the above approach class GFG { // Function to check if a string // contains all the letters from // a to z (ignoring case) public static void allLetter(String str) { // Converting the given string // into lowercase str = str.toLowerCase(); boolean allLetterPresent = true; // Loop over each character itself for (char ch = 'a'; ch <= 'z'; ch++) { // Check if the string does not // contains all the letters if (!str.contains(String.valueOf(ch))) { allLetterPresent = false; break; } } // Check if all letter present then // print "Yes", else print "No" if (allLetterPresent) System.out.println("Yes"); else System.out.println("No"); } // Driver Code public static void main(String args[]) { // Given string str String str = "Abcdefghijklmnopqrstuvwxyz12"; // Function call allLetter(str); } }
Yes
Complejidad de Tiempo: O(26*N)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA