Dada una palabra o frase, comprueba si es isograma o no. Un isograma es una palabra en la que ninguna letra aparece más de una vez.
Ejemplos:
Input : Machine Output : True "Machine" does not have any character repeating, it is an Isogram Input : Geek Output : False "Geek" has 'e' as repeating character, it is not an Isogram
Implementación:
C++
// C++ program to check // if a given string is isogram or not #include <bits/stdc++.h> using namespace std; // Function to check // if a given string is isogram or not string is_isogram(string str) { int len = str.length(); // Convert the string in lower case letters for (int i = 0; i < len; i++) str[i] = tolower(str[i]); sort(str.begin(), str.end()); for (int i = 0; i < len; i++) { if (str[i] == str[i + 1]) return "False"; } return "True"; } // driver program int main() { string str1 = "Machine"; cout << is_isogram(str1) << endl; string str2 = "isogram"; cout << is_isogram(str2) << endl; string str3 = "GeeksforGeeks"; cout << is_isogram(str3) << endl; string str4 = "Alphabet"; cout << is_isogram(str4) << endl; return 0; } // Contributed by nuclode
Java
// Java program to check // if a given string is isogram or not import java.io.*; import java.util.*; class GFG { // Function to check // if a given string is isogram or not static boolean is_isogram(String str) { // Convert the string in lower case letters str = str.toLowerCase(); int len = str.length(); char arr[] = str.toCharArray(); Arrays.sort(arr); for (int i = 0; i < len - 1; i++) { if (arr[i] == arr[i + 1]) return false; } return true; } // driver program public static void main(String[] args) { String str1 = "Machine"; System.out.println(is_isogram(str1)); String str2 = "isogram"; System.out.println(is_isogram(str2)); String str3 = "GeeksforGeeks"; System.out.println(is_isogram(str3)); String str4 = "Alphabet"; System.out.println(is_isogram(str4)); } } // Contributed by Pramod Kumar
Python3
# Python program to check # if a word is isogram or not def is_isogram(word): # Convert the word or sentence in lower case letters. clean_word = word.lower() # Make an empty list to append unique letters letter_list = [] for letter in clean_word: # If letter is an alphabet then only check if letter.isalpha(): if letter in letter_list: return False letter_list.append(letter) return True if __name__ == '__main__': print(is_isogram("Machine")) print(is_isogram("isogram")) print(is_isogram("GeeksforGeeks")) print(is_isogram("Alphabet "))
C#
// C# program to check if a given // string is isogram or not using System; public class GFG { // Function to check if a given // string is isogram or not static bool is_isogram(string str) { // Convert the string in lower case letters str = str.ToLower(); int len = str.Length; char[] arr = str.ToCharArray(); Array.Sort(arr); for (int i = 0; i < len - 1; i++) { if (arr[i] == arr[i + 1]) return false; } return true; } // driver program public static void Main() { string str1 = "Machine"; Console.WriteLine(is_isogram(str1)); string str2 = "isogram"; Console.WriteLine(is_isogram(str2)); string str3 = "GeeksforGeeks"; Console.WriteLine(is_isogram(str3)); string str4 = "Alphabet"; Console.WriteLine(is_isogram(str4)); } } // This code is contributed by Sam007
Javascript
<script> // Javascript program to check if a given // string is isogram or not // Function to check if a given // string is isogram or not function is_isogram(str) { // Convert the string in lower case letters str = str.toLowerCase(); let len = str.length; let arr = str.split(''); arr.sort(); for (let i = 0; i < len - 1; i++) { if (arr[i] == arr[i + 1]) return false; } return true; } let str1 = "Machine"; if(is_isogram(str1)) { document.write("True" + "</br>"); } else{ document.write("False" + "</br>"); } let str2 = "isogram"; if(is_isogram(str2)) { document.write("True" + "</br>"); } else{ document.write("False" + "</br>"); } let str3 = "GeeksforGeeks"; if(is_isogram(str3)) { document.write("True" + "</br>"); } else{ document.write("False" + "</br>"); } let str4 = "Alphabet"; if(is_isogram(str4)) { document.write("True" + "</br>"); } else{ document.write("False" + "</br>"); } // This code is contributed by suresh07. </script>
True True False False
Otro enfoque: en esto, el recuento de caracteres de la string se almacena en hashmap, y siempre que sea mayor que 1 para cualquier carácter, devuelve falso; de lo contrario, devuelve verdadero.
Implementación:
C++
// CPP code to check string is isogram or not #include <bits/stdc++.h> using namespace std; // function to check isogram bool check_isogram(string str) { int length = str.length(); int mapHash[26] = { 0 }; // loop to store count of chars and check if it is greater than 1 for (int i = 0; i < length; i++) { mapHash[str[i] - 'a']++; // if count > 1, return false if (mapHash[str[i]-'a'] > 1) { return false; } } return true; } // Driver code int main() { string str = "geeks"; string str2 = "computer"; // checking str as isogram if (check_isogram(str)) { cout << "True" << endl; } else { cout << "False" << endl; } // checking str2 as isogram if (check_isogram(str2)) { cout << "True" << endl; } else { cout << "False" << endl; } return 0; }
Java
// Java code to check string is isogram or not class GFG { // function to check isogram static boolean check_isogram(String str) { int length = str.length(); int mapHash[] = new int[26]; // loop to store count of chars and // check if it is greater than 1 for (int i = 0; i < length; i++) { mapHash[str.charAt(i) - 'a']++; // if count > 1, return false if (mapHash[str[i]-'a'] > 1) { return false; } } return true; } // Driver code public static void main(String[] args) { String str = "geeks"; String str2 = "computer"; // checking str as isogram if (check_isogram(str)) System.out.println("True"); else System.out.println("False"); // checking str2 as isogram if (check_isogram(str2)) System.out.println("True"); else System.out.println("False"); } } // This code contributed by Rajput-Ji
Python3
# Python3 code to check string is isogram or not # function to check isogram def check_isogram(string) : length = len(string); mapHash = [0] * 26; # loop to store count of chars # and check if it is greater than 1 for i in range(length) : mapHash[ord(string[i]) - ord('a')] += 1; # if count > 1, return false if (mapHash[ord(string[i]) - ord('a')] > 1) : return False; return True; # Driver code if __name__ == "__main__" : string = "geeks"; string2 = "computer"; # checking str as isogram if (check_isogram(string)) : print("True"); else : print("False"); # checking str2 as isogram if (check_isogram(string2)) : print("True") else : print("False"); # This code is contributed by AnkitRai01
C#
// C# code to check string is isogram or not using System; public class GFG { // function to check isogram static bool check_isogram(String str) { int length = str.Length; int []mapHash = new int[26]; // loop to store count of chars and // check if it is greater than 1 for (int i = 0; i < length; i++) { mapHash[str[i] - 'a']++; // if count > 1, return false if (mapHash[str[i] - 'a'] > 1) { return false; } } return true; } // Driver code public static void Main(String[] args) { String str = "geeks"; String str2 = "computer"; // checking str as isogram if (check_isogram(str)) Console.WriteLine("True"); else Console.WriteLine("False"); // checking str2 as isogram if (check_isogram(str2)) Console.WriteLine("True"); else Console.WriteLine("False"); } } // This code has been contributed by 29AjayKumar
Javascript
<script> // Javascript code to check string is isogram or not // function to check isogram function check_isogram(str) { let length = str.length; let mapHash = new Array(26); mapHash.fill(0); // loop to store count of chars and // check if it is greater than 1 for (let i = 0; i < length; i++) { mapHash[str[i].charCodeAt() - 'a'.charCodeAt()]++; // if count > 1, return false if (mapHash[str[i].charCodeAt() - 'a'.charCodeAt()] > 1) { return false; } } return true; } let str = "geeks"; let str2 = "computer"; // checking str as isogram if (check_isogram(str)) document.write("True" + "</br>"); else document.write("False" + "</br>"); // checking str2 as isogram if (check_isogram(str2)) document.write("True" + "</br>"); else document.write("False" + "</br>"); // This code is contributed by divyeshrabadiya07. </script>
False True
// Gracias Sahil Bansal por sugerir el método anterior.
Este artículo es una contribución de Sakshi Tiwari . Si te gusta GeeksforGeeks (¡sabemos que te gusta!) y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA