En İyi 150 RöportajKolay

Minimum Yığın

'Min Yığın' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Push, pop, top ve minimum öğenin sabit sürede alınmasını destekleyen bir yığın tasarlayın.

MinStack sınıfını uygulayın:

- MinStack() yığın nesnesini başlatır.

- push(val: int), val öğesini yığına iter.

- pop() yığının en üstündeki öğeyi kaldırır.

- top() -> int yığının en üst elemanını alır.

- getMin() -> int yığındaki minimum öğeyi alır.

Her işlev için O(1) zaman karmaşıklığına sahip bir çözüm uygulamanız gerekir.

Kısıtlamalar
  • -2^31 <= val <= 2^31 - 1
  • Methods pop, top, and getMin are always called on non-empty stacks
  • At most 3 * 10^4 calls will be made to push, pop, top, and getMin

Örnekler

Example 1
Input
["MinStack", "push", "push", "push", "getMin", "pop", "top", "getMin"]
[[], [-2], [0], [-3], [], [], [], []]
Output
[None, None, None, None, -3, None, 0, -2]
Explanation

MinStack created. Push -2, 0, -3. getMin() returns -3. Pop removes -3. top() returns 0. getMin() returns -2.

Need a Hint?
Kümeler veya yığınlar gibi Yığına özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.