0Pricing
Coding Interview Prep · Pelajaran

Pemeriksaan Palindrom yang Tepat

Membandingkan dari kedua ujung secara efisien

Pemeriksaan Palindrom yang Tepat adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Coding Interview Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa Itu Palindrom

Palindrom dibaca sama dari depan maupun belakang, seperti racecar atau level. Memeriksa palindrom merupakan latihan klasik untuk pemanasan. 🔁

Trik Irisan

Python dapat membalikkan teks dengan irisan s[::-1]. Bandingkan hasilnya dengan teks asli, dan Anda mendapatkan pemeriksaan dalam satu baris.

s = 'level'
print(s == s[::-1])  # True

Irisan Memerlukan Memori Tambahan

Pendekatan irisan memang singkat, tetapi membuat salinan terbalik seluruh teks. Untuk teks yang sangat panjang, memori tambahan ini dapat menjadi masalah dalam batasan yang ketat.

Cara Dua Penunjuk

Tempatkan satu penunjuk di awal dan satu lagi di akhir. Bandingkan keduanya, lalu geser ke arah tengah. Cara ini menggunakan ruang tambahan O(1).

i, j = 0, len(s) - 1
while i < j:
    if s[i] != s[j]:
        break
    i += 1; j -= 1

Berhenti di Tengah

Penunjuk hanya perlu bertemu di tengah. Setelah i tidak kurang dari j, setiap pasangan telah cocok dan teks tersebut merupakan palindrom.

Ketidakcocokan Berarti Berhenti Lebih Awal

Perulangan dua penunjuk dapat mengembalikan False segera setelah suatu pasangan berbeda. Anda jarang perlu memindai seluruh teks, sehingga cara ini lebih cepat.

def is_pal(s):
    i, j = 0, len(s) - 1
    while i < j:
        if s[i] != s[j]: return False
        i += 1; j -= 1
    return True

Keduanya Berjalan dalam O(n)

Dengan kedua cara, setiap karakter disentuh paling banyak sekali, sehingga kedua metode berjalan dalam waktu linear. Perbedaannya hanya pada memori tambahan yang digunakan.

Normalisasi Terlebih Dahulu

Banyak masalah mengabaikan kapitalisasi dan spasi. Bersihkan teks terlebih dahulu dengan mengubahnya menjadi huruf kecil dan hanya mempertahankan huruf serta digit.

raw = 'A man, a plan'
clean = ''.join(c.lower() for c in raw if c.isalnum())

Lalu Periksa Teks yang Sudah Dibersihkan

Setelah dinormalisasi, lakukan pengujian palindrom seperti biasa pada versi yang sudah dibersihkan. Inilah pola standar untuk palindrom berbentuk kalimat.

print(clean == clean[::-1])

Penunjuk Melewati Karakter Nonhuruf

Alih-alih membersihkan terlebih dahulu, dua penunjuk dapat melewati karakter nonalfanumerik langsung di tempatnya. Dengan demikian, Anda sama sekali tidak perlu membuat teks kedua.

Palindrom Subteks

Masalah yang lebih sulit menanyakan tentang subteks palindrom. Gagasan utamanya adalah memperluas dari tengah: perluas ke arah luar dari setiap posisi selama ujung-ujungnya cocok.

Pemeriksaan Singkat

Satu pertanyaan tentang pemeriksaan palindrom.

Ringkasan

Anda dapat memeriksa palindrom dengan irisan yang cepat atau dua penunjuk yang hemat memori, serta menormalisasi masukan yang tidak rapi sebelum melakukan pengujian. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemeriksaan Palindrom yang Tepat” gratis?

Ya — teks lengkap “Pemeriksaan Palindrom yang Tepat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Coding Interview Prep, upgrade ke CoddyKit PRO. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pemeriksaan Palindrom yang Tepat”?

Membandingkan dari kedua ujung secara efisien Kamu berlatih Coding Interview Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Coding Interview Prep?

Tidak diperlukan pengalaman sebelumnya. Coding Interview Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pemeriksaan Palindrom yang Tepat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Coding Interview Prep ini?

Ya. Setiap pelajaran Coding Interview Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Trik Karakter, ord & chr
  2. Menghitung Huruf dengan Tabel Frekuensi
  3. Pemeriksaan Palindrom yang Tepat
  4. Memisahkan, Membersihkan & Menggabungkan Kembali Kata
← Kembali ke Coding Interview Prep