0Pricing
Coding Interview Prep · Ders

Palindrom Denetimlerini Doğru Yapma

Her iki uçtan verimli biçimde karşılaştırın.

Palindrom Denetimlerini Doğru Yapma, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.

Palindrom Nedir

Bir palindrom tersten ve düzden aynı okunur; racecar veya level gibi. Bir palindromu denetlemek klasik bir başlangıç problemidir. 🔁

Dilimleme Hilesi

Python, bir dizeyi s[::-1] dilimiyle ters çevirebilir. Bunu özgün dizeyle karşılaştırarak tek satırlık bir denetim elde edersiniz.

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

Dilimleme Ek Bellek Kullanır

Dilimleme yaklaşımı kısadır ancak ters çevrilmiş dizenin tamamının bir kopyasını oluşturur. Çok büyük dizelerde bu ek bellek, sıkı bellek sınırlarında önem taşıyabilir.

İki İşaretçi Yöntemi

Bir işaretçiyi başa, diğerini sona yerleştirin. Karşılaştırıp işaretçileri içeri doğru ilerletin. Bu yöntem O(1) ek alan kullanır.

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

Ortada Durun

İşaretçilerin yalnızca yarı yolda buluşması gerekir. i, j'den küçük olmadığında her çift eşleşmiş olur ve dize bir palindromdur.

Uyuşmazlık Erken Durmayı Gerektirir

İki işaretçili döngü, bir çift farklı olduğu anda return False döndürebilir. Bu nedenle dizenin tamamını nadiren tararsınız; bu da güzel bir hız kazancıdır.

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

Her İkisi de O(n) Zamandadır

Her iki yöntemde de her karaktere en fazla bir kez dokunursunuz; bu nedenle ikisi de doğrusal zamanda çalışır. Aralarındaki tek fark kullandıkları ek bellektir.

Önce Normalleştirin

Birçok problem büyük-küçük harfleri ve boşlukları yok sayar. Önce ||||dizeyi temizleyin; küçük harfe çevirin ve yalnızca harfleri ve rakamları tutun.

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

Ardından Temiz Dizeyi Denetleyin

Normalleştirdikten sonra olağan palindrom denetiminizi temizlenmiş sürüm üzerinde çalıştırın. Cümle palindromları için standart yaklaşım budur.

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

İşaretçiler Harf Olmayanları Atlar

Önce temizlemek yerine iki işaretçi, alfasayısal olmayan karakterleri yerinde atlayabilir. Böylece ikinci bir dize oluşturmanız tamamen önlenir.

Alt Dize Palindromları

Daha zor problemler palindromik alt dizelerle ilgilenir. Temel fikir merkezden dışa doğru genişlemektir: uçlar eşleştiği sürece her konumdan dışarı doğru büyüyün.

Hızlı Kontrol

Palindrom denetimleri hakkında bir soru.

Özet

Palindromları hızlı bir dilim veya bellek açısından hafif iki işaretçiyle denetleyebilir, testten önce dağınık girdiyi normalleştirebilirsiniz. 🎉

Sıkça Sorulan Sorular

“Palindrom Denetimlerini Doğru Yapma” dersi ücretsiz mi?

Evet — “Palindrom Denetimlerini Doğru Yapma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.

“Palindrom Denetimlerini Doğru Yapma” dersinde ne öğreneceğim?

Her iki uçtan verimli biçimde karşılaştırın. Coding Interview Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Palindrom Denetimlerini Doğru Yapma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Coding Interview Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Karakterler, ord ve chr Püf Noktaları
  2. Frekans Tablosuyla Harfleri Sayma
  3. Palindrom Denetimlerini Doğru Yapma
  4. Kelimeleri Bölme, Temizleme ve Yeniden Birleştirme
← Coding Interview Prep Sayfasına Dön