b belajar.myudak

Min Stack

Rancang stack yang mendukung semua operasi berikut dalam O(1):

  • push(x): taruh x di atas stack
  • pop(): buang elemen teratas
  • top(): kembalikan elemen teratas
  • getMin(): kembalikan elemen terkecil di stack

Lengkapi class MinStack. Fungsi minStack(ops, vals) di bawahnya hanya menjalankan daftar operasi untuk penilai (vals[i] dipakai jika ops[i] adalah push), jadi biarkan apa adanya.

push(-2), push(0), push(-3), getMin() → -3, pop(), top() → 0, getMin() → -2
Topik
stackdesain
Petunjuk 1

Mencari minimum dengan memindai seluruh stack bernilai O(n). Bisakah menyimpan informasi tambahan saat push?

Petunjuk 2

Simpan stack kedua yang berisi "minimum sejauh ini" di setiap level.

Pengaturan editor

Ukuran font
Ukuran huruf di editor.
Ukuran tab
Lebar indentasi. Otomatis: 2 spasi untuk TypeScript, 4 untuk Python.
Key bindings
Ganti ke mode Vim.
Nomor baris relatif
Nomor baris dihitung dari posisi kursor (berguna untuk gerakan Vim).
Word wrap
Baris panjang dilipat agar muat di lebar editor.
IntelliSense
Saran kode otomatis saat mengetik (Ctrl+Spasi tetap bisa dipakai saat mati).

Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.