Top 150-InterviewSchwer

Finden Sie den Medianwert aus dem Datenstrom

Detaillierte Anleitung und Python-Implementierung für das Problem „Median aus Datenstrom ermitteln“.

Problemstellung

Schwer

Der Median ist der mittlere Wert in einer geordneten Ganzzahlliste. Wenn die Größe der Liste gerade ist, gibt es keinen Mittelwert und der Median ist der Mittelwert der beiden Mittelwerte.

Implementieren Sie die MedianFinder-Klasse:

- MedianFinder() Initialisiert das MedianFinder-Objekt.

- addNum(num: int) Fügt die Ganzzahl num aus dem Datenstrom zur Datenstruktur hinzu.

- findMedian() -> float Gibt den Median aller bisherigen Elemente zurück.

Die Eingabe ist eine Liste von Operationen und Argumenten. Implementieren Sie eine Funktion medianFinder(operations: list, arguments: list) -> list, die eine Ergebnisliste zurückgibt (None für den Konstruktor/addNum, float für findMedian).

Einschränkungen
  • -10^5 <= num <= 10^5
  • There will be at least one element in the data structure before calling findMedian
  • At most 5 * 10^4 calls will be made to addNum and findMedian

Beispiele

Example 1
Input
operations = ["MedianFinder", "addNum", "addNum", "findMedian", "addNum", "findMedian"], arguments = [[], [1], [2], [], [3], []]
Output
[None, None, None, 1.5, None, 2.0]
Explanation

Initialize. Add 1, 2. Median is 1.5. Add 3. Median is 2.0.

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.