Pemeriksa Anagram Python

Periksa apakah dua string merupakan anagram dengan membandingkan komposisi karakternya dengan Python.

Coba di Editor

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.

anagram.py
Coba di Editor
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)}")
Keluaran Terminal
Are 'listen' and 'silent' anagrams? True
Are 'hello' and 'world' anagrams? False

Implementasi 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.

Topik Terkait