0Pricing
Coding Interview Prep · Ders

Tekdüze Yığın: Sonraki Büyük Öğe

Aralık sorgularını tek geçişte yanıtlayın.

Tekdüze Yığın: Sonraki Büyük Öğe, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 2. 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.

Bir Sonraki Daha Büyük Değer Problemi

Her sayı için sağındaki ilk daha büyük değeri bulmak istersiniz. Kaba kuvvet O(n kare) sürer, ancak bir monotonik yığın bunu tek geçişte yapar.

Monotonik Ne Demektir

Monotonik yığın, değerlerini sıralı biçimde, burada azalan sırada tutar; böylece bu sıra bozulacağı anda bir yanıtın bulunduğunu anlarız.

Değerleri Değil, Dizinleri Saklayın

Ham sayılar yerine dizinleri yığına itin. Böylece daha büyük bir öğe ortaya çıktığında tam olarak hangi konumu dolduracağınızı bilirsiniz.

stack = []
ans = [-1] * len(nums)

Soldan Sağa İlerleyin

Dizinin üzerinden bir kez geçin. Her dizinde ya sonucu belirlenmiş öğeleri çıkarırsınız ya da geçerli dizini daha sonrası için yığına itersiniz.

for i in range(len(nums)):

Daha Küçük Olanları Çıkarın

Geçerli değer, üstteki dizindeki değerden büyük olduğu sürece, o üstteki öğe sonunda kendisinden sonraki daha büyük öğeyi bulmuş demektir.

    while stack and nums[i] > nums[stack[-1]]:

Yanıtı Kaydedin

Üstteki dizini çıkarın ve yanıtını geçerli değere ayarlayın. Her dizin tam olarak bir kez çözümlendiği için iş yükü doğrusal kalır.

        j = stack.pop()
        ans[j] = nums[i]

İtin ve Devam Edin

Daha küçük olanların tümünü çözdükten sonra geçerli dizini yığına itin; böylece kendisi için ilerideki daha büyük öğeyi bekleyebilir.

    stack.append(i)

Geride Kalanların Yanıtı Yoktur

Sonunda hâlâ yığında bulunan dizinler daha büyük bir değerle hiç karşılaşmamıştır. Varsayılan değerleri -1 olarak kalır; bu da böyle bir değerin bulunmadığı anlamına gelir.

Neden O(n)

Her dizin bir kez yığına itilir ve bir kez çıkarılır. İçteki while döngüsüne rağmen toplam iş yükü tüm tarama boyunca doğrusal kalır.

Bir Sonraki Daha Küçük için Tersine Çevirin

Bunun yerine bir sonraki daha küçük öğeyi mi arıyorsunuz? Büyükten küçüğe karşılaştırmayı çevirerek yığını artan sırada tutun.

    while stack and nums[i] < nums[stack[-1]]:

Bir Hile Değil, Bir Örüntü

Aralık sorguları, hisse senedi fiyatları ve histogram alanlarının tümü bu fikri yeniden kullanır. Monotonik yığın, ezberlemeye değer temel bir yarışma örüntüsüdür.

Hızlı Kontrol

Bir sonraki daha büyük öğeyi monotonik yığınla buluyorsunuz. Toplam çalışma süresi neden doğrusaldır?

Özet: Tek Geçişte Birçok Yanıt

Bir sonraki daha büyük öğeleri O(n) zamanda bulmak için dizinlerden oluşan azalan bir monotonik yığın kullandınız. Bu örüntü birçok aralık problemini çözmenizi sağlar. 🚀

Sıkça Sorulan Sorular

“Tekdüze Yığın: Sonraki Büyük Öğe” dersi ücretsiz mi?

Evet — “Tekdüze Yığın: Sonraki Büyük Öğe” 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.

“Tekdüze Yığın: Sonraki Büyük Öğe” dersinde ne öğreneceğim?

Aralık sorgularını tek geçişte yanıtlayı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 2. dersidir.

“Tekdüze Yığın: Sonraki Büyük Öğe” 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. Eşleşen Köşeli Ayraçlar için Yığınlar
  2. Tekdüze Yığın: Sonraki Büyük Öğe
  3. Kuyruklar ve collections.deque
  4. Deque ile Kayan Pencere Maksimumu
← Coding Interview Prep Sayfasına Dön