Top 150 des entrevuesFacile

Kième plus grand élément du flux

Guide détaillé et implémentation de Python pour le problème « Kth Largest Element In Stream ».

Énoncé du problème

Facile

Concevez une classe pour trouver le kième plus grand élément dans un flux. Notez qu'il s'agit du kème élément le plus grand dans l'ordre de tri, et non du kème élément distinct.

Implémentez la classe KthLargest :

- KthLargest(k: int, nums: List[int]) Initialise l'objet avec l'entier k et le flux d'entiers nums.

- add(val: int) -> int Ajoute le val entier au flux et renvoie l'élément représentant le kième plus grand élément.

L'entrée est une liste d'opérations et d'arguments. Implémentez une fonction kthLargest(operations: list, arguments: list) -> list qui renvoie une liste de résultats (Aucun pour le constructeur, int pour l'ajout).

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

Exemples

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?
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.