Compruebe si una string determinada es Pangram en Java

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:
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:

  1. Convierta cada letra de la string a minúsculas o mayúsculas .
  2. Cree una array de frecuencias para marcar la frecuencia de cada letra de la a a la z .
  3. 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 .

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");
    }
}
Producción: 

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 , 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);
    }
}
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *