150 najlepszych wywiadówŁatwe

K-ty największy element w strumieniu

Szczegółowy przewodnik i implementacja Python dla problemu „K-ty największy element w strumieniu”.

Oświadczenie o problemie

Łatwe

Zaprojektuj klasę, która znajdzie k-ty największy element w strumieniu. Należy zauważyć, że jest to k-ty największy element w posortowanej kolejności, a nie k-ty odrębny element.

Zaimplementuj klasę KthLargest:

- KthLargest(k: int, nums: List[int]) Inicjuje obiekt liczbą całkowitą k i strumieniem liczb całkowitych nums.

- add(val: int) -> int Dołącza wartość całkowitą do strumienia i zwraca element reprezentujący k-ty największy element.

Dane wejściowe to lista operacji i argumentów. Zaimplementuj funkcję kthLargest(operations: list, arguments: list) -> list, która zwraca listę wyników (None dla konstruktora, int dla add).

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla sterty/kolejki priorytetowej, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.