Top 150-InterviewEinfach

K-tes größtes Element im Strom

Detaillierte Anleitung und Python-Implementierung für das Problem „Kth Largest Element In Stream“.

Problemstellung

Einfach

Entwerfen Sie eine Klasse, um das k-größte Element in einem Stream zu finden. Beachten Sie, dass es das k-te größte Element in der Sortierreihenfolge ist, nicht das k-te eindeutige Element.

Implementieren Sie die KthLargest-Klasse:

- KthLargest(k: int, nums: List[int]) Initialisiert das Objekt mit der Ganzzahl k und dem Strom von Ganzzahlen nums.

- add(val: int) -> int Hängt den ganzzahligen Wert an den Stream an und gibt das Element zurück, das das k-größte Element darstellt.

Die Eingabe ist eine Liste von Operationen und Argumenten. Implementieren Sie eine Funktion kthLargest(operations: list, arguments: list) -> list, die eine Ergebnisliste zurückgibt (Keine für Konstruktor, int für Hinzufügen).

Einschränkungen
  • 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

Beispiele

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?
Erwägen Sie die Verwendung von Heap-/Prioritätswarteschlangen-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.