Le migliori 150 intervisteDifficile

Trova la mediana dal flusso di dati

Guida dettagliata e implementazione Python per il problema "Trova la mediana dal flusso di dati".

Dichiarazione del problema

Difficile

La mediana è il valore medio in un elenco intero ordinato. Se la dimensione dell'elenco è pari, non esiste un valore medio e la mediana è la media dei due valori medi.

Implementa la classe MedianFinder:

- MedianFinder() Inizializza l'oggetto MedianFinder.

- addNum(num: int) Aggiunge il numero intero dal flusso di dati alla struttura dei dati.

- findMedian() -> float Restituisce la mediana di tutti gli elementi finora.

L'input è un elenco di operazioni e argomenti. Implementa una funzione medianFinder(operations: list, arguments: list) -> list che restituisce un elenco di risultati (Nessuno per costruttore/addNum, float per findMedian).

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche per heap/coda di priorità come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.