Dada una string S que consta solo de letras minúsculas, compruebe si la string tiene todos los caracteres que aparecen incluso veces.
Ejemplos:
Entrada: abaccaba
Salida: Sí
Explicación: ‘a’ aparece cuatro veces, ‘b’ aparece dos veces, ‘c’ aparece dos veces y las otras letras aparecen cero veces.
Entrada : hthth
Salida : No
Enfoque: Revisaremos
la string y contaremos la ocurrencia de todos los caracteres, luego verificaremos si las ocurrencias son pares o no, si hay algún carácter de frecuencia impar, inmediatamente imprimiremos No.
C++
// C++ implementation of the above approach #include <iostream> using namespace std; bool check(string s) { // creating a frequency array int freq[26] = {0}; // Finding length of s int n = s.length(); for (int i = 0; i < s.length(); i++) // counting frequency of all characters freq[s[i] - 97]++; // checking if any odd frequency // is there or not for (int i = 0; i < 26; i++) if (freq[i] % 2 == 1) return false; return true; } // Driver Code int main() { string s = "abaccaba"; check(s) ? cout << "Yes" << endl : cout << "No" << endl; return 0; } // This code is contributed by // sanjeev2552
Java
// Java implementation of the above approach class GFG { static boolean check(String s) { // creating a frequency array int[] freq = new int[26]; // Finding length of s int n = s.length(); // counting frequency of all characters for (int i = 0; i < s.length(); i++) { freq[(s.charAt(i)) - 97] += 1; } // checking if any odd frequency // is there or not for (int i = 0; i < freq.length; i++) { if (freq[i] % 2 == 1) { return false; } } return true; } // Driver Code public static void main(String[] args) { String s = "abaccaba"; if (check(s)) { System.out.println("Yes"); } else { System.out.println("No"); } } } // This code is contributed by Rajput-Ji
Python3
# Python implementation of the above approach def check(s): # creating a frequency array freq =[0]*26 # Finding length of s n = len(s) for i in range(n): # counting frequency of all characters freq[ord(s[i])-97]+= 1 for i in range(26): # checking if any odd frequency # is there or not if (freq[i]% 2 == 1): return False return True # Driver code s ="abaccaba" if(check(s)): print("Yes") else: print("No")
C#
// C# implementation of the approach using System; class GFG { static Boolean check(String s) { // creating a frequency array int[] freq = new int[26]; // Finding length of s int n = s.Length; // counting frequency of all characters for (int i = 0; i < s.Length; i++) { freq[(s[i]) - 97] += 1; } // checking if any odd frequency // is there or not for (int i = 0; i < freq.Length; i++) { if (freq[i] % 2 == 1) { return false; } } return true; } // Driver Code public static void Main(String[] args) { String s = "abaccaba"; if (check(s)) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } } } // This code is contributed by PrinciRaj1992
Javascript
<script> // JavaScript implementation of the above approach function check(s) { // creating a frequency array var freq = Array(26).fill(0); // Finding length of s var n = s.length; for (var i = 0; i < s.length; i++) // counting frequency of all characters freq[s[i] - 97]++; // checking if any odd frequency // is there or not for (var i = 0; i < 26; i++) if (freq[i] % 2 == 1) return false; return true; } // Driver Code var s = "abaccaba"; check(s) ? document.write("Yes") : document.write("No"); </script>
Producción:
Yes
Método n.º 2: uso de funciones integradas de python.
Enfoque :
Escanearemos la string y contaremos la ocurrencia de todos los caracteres usando la función Counter() incorporada, luego recorremos la lista de contadores y verificamos si las ocurrencias son pares o no, si hay algún carácter de frecuencia impar e inmediatamente imprimimos No.
Nota: Este método es aplicable para todo tipo de caracteres
Python3
# Python implementation for # the above approach # importing Counter function from collections import Counter # Function to check if all # elements occur even times def checkString(s): # Counting the frequency of all # character using Counter function frequency = Counter(s) # Traversing frequency for i in frequency: # Checking if any element # has odd count if (frequency[i] % 2 == 1): return False return True # Driver code s = "geeksforgeeksfor" if(checkString(s)): print("Yes") else: print("No") # This code is contributed by vikkycirus
Salida :
Yes