Pemeriksa Anagram Python
Periksa apakah dua string merupakan anagram dengan membandingkan komposisi karakternya dengan Python.
Ikhtisar
Dua string disebut anagram jika keduanya berisi karakter yang sama dalam frekuensi yang sama, meskipun disusun dalam urutan yang berbeda (misalnya, "dengarkan" dan "diam").
Cara elegan untuk memeriksa anagram adalah dengan membersihkan string (menghapus spasi dan huruf kecil), mengurutkan karakternya, dan memverifikasi apakah daftar yang diurutkan identik.
Pendekatan pengurutan ini dijalankan dalam waktu O(k log k) dengan k adalah panjang string, yang optimal untuk pemeriksaan teks pendek.
Kode & Output Eksekusi
Memeriksa pasangan kata untuk status anagram dengan mengurutkan huruf.
def is_anagram(str1, str2):
s1 = sorted(str1.lower().replace(" ", ""))
s2 = sorted(str2.lower().replace(" ", ""))
return s1 == s2
word1, word2 = "listen", "silent"
print(f"Are '{word1}' and '{word2}' anagrams? {is_anagram(word1, word2)}")
word3, word4 = "hello", "world"
print(f"Are '{word3}' and '{word4}' anagrams? {is_anagram(word3, word4)}")Are 'listen' and 'silent' anagrams? True
Are 'hello' and 'world' anagrams? FalseImplementasi Langkah demi Langkah
- Analisis teks dan mesin perbandingan linguistik
- Desain teka-teki string dan sistem validator
- Tugas pengkodean wawancara teknis
Pertanyaan yang Sering Diajukan
Apakah ada cara untuk menyelesaikan ini dalam waktu linier O(n)?
Iya! Daripada mengurutkan, Anda dapat menghitung frekuensi huruf menggunakan peta hash atau `collections.Counter` Python dan membandingkan peta frekuensi yang dihasilkan.