Wawancara 150 TeratasMudah

Elemen Terbesar ke-K Dalam Aliran

Panduan terperinci dan implementasi Python untuk masalah 'Elemen In Stream Terbesar ke-K'.

Pernyataan Masalah

Mudah

Rancang kelas untuk menemukan elemen terbesar ke-k dalam suatu aliran. Perhatikan bahwa ini adalah elemen terbesar ke-k dalam urutan yang diurutkan, bukan elemen berbeda ke-k.

Implementasikan kelas KthLargest:

- KthLargest(k: int, nums: List[int]) Menginisialisasi objek dengan bilangan bulat k dan aliran bilangan bulat.

- add(val: int) -> int Menambahkan bilangan bulat val ke aliran dan mengembalikan elemen yang mewakili elemen terbesar ke-k.

Input adalah daftar operasi dan argumen. Implementasikan fungsi kthLargest(operations: list, arguments: list) -> list yang mengembalikan daftar hasil (Tidak ada untuk konstruktor, int untuk penambahan).

Kendala
  • 1 <= k <= 10^4
  • 0 <= len(nums) <= 10^4
  • -10^4 <= nums[i], val <= 10^4
  • At most 10^4 calls will be made to add

Contoh

Example 1
Input
operations = ["KthLargest", "add", "add", "add", "add", "add"], arguments = [[3, [4, 5, 8, 2]], [3], [5], [10], [9], [4]]
Output
[None, 4, 5, 5, 8, 8]
Explanation

KthLargest class is initialized with k=3 and nums=[4,5,8,2]. add(3) returns 4. add(5) returns 5. add(10) returns 5. add(9) returns 8. add(4) returns 8.

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Heap/Antrian Prioritas seperti kumpulan atau heap.
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.