Wawancara 150 TeratasMudah

Tumpukan Minimal

Panduan terperinci dan implementasi Python untuk masalah 'Min Stack'.

Pernyataan Masalah

Mudah

Rancang tumpukan yang mendukung push, pop, top, dan mengambil elemen minimum dalam waktu yang konstan.

Implementasikan kelas MinStack:

- MinStack() menginisialisasi objek tumpukan.

- push(val: int) mendorong elemen val ke dalam tumpukan.

- pop() menghapus elemen di bagian atas tumpukan.

- top() -> int mendapatkan elemen teratas tumpukan.

- getMin() -> int mengambil elemen minimum dalam tumpukan.

Anda harus mengimplementasikan solusi dengan kompleksitas waktu O(1) untuk setiap fungsi.

Kendala
  • -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

Contoh

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?
Pertimbangkan untuk menggunakan struktur data khusus tumpukan seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

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

Buka di Editor
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.