Top 150 des entrevuesDifficile

Trouver la médiane à partir du flux de données

Guide détaillé et implémentation de Python pour le problème « Trouver la médiane à partir du flux de données ».

Énoncé du problème

Difficile

La médiane est la valeur médiane dans une liste d’entiers ordonnés. Si la taille de la liste est paire, il n’y a pas de valeur médiane et la médiane est la moyenne des deux valeurs médianes.

Implémentez la classe MedianFinder :

- MedianFinder() Initialise l'objet MedianFinder.

- addNum(num: int) Ajoute le nombre entier du flux de données à la structure de données.

- findMedian() -> float Renvoie la médiane de tous les éléments jusqu'à présent.

L'entrée est une liste d'opérations et d'arguments. Implémentez une fonction medianFinder(operations: list, arguments: list) -> list qui renvoie une liste de résultats (Aucun pour constructeur/addNum, float pour findMedian).

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

Exemples

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?
Envisagez d'utiliser des structures de données spécifiques au tas/à la file d'attente prioritaire, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.