150 principais entrevistasFácil

K-ésimo maior elemento no fluxo

Guia detalhado e implementação de Python para o problema 'K-th Largest Element In Stream'.

Declaração do problema

Fácil

Projete uma classe para encontrar o k-ésimo maior elemento em um fluxo. Observe que é o k-ésimo maior elemento na ordem de classificação, não o k-ésimo elemento distinto.

Implemente a classe KthLargest:

- KthLargest(k: int, nums: List[int]) Inicializa o objeto com o inteiro k e o fluxo de inteiros nums.

- add(val: int) -> int Acrescenta o inteiro val ao fluxo e retorna o elemento que representa o k-ésimo maior elemento.

A entrada é uma lista de operações e argumentos. Implemente uma função kthLargest(operations: list, arguments: list) -> list que retorna uma lista de resultados (None para construtor, int para adição).

Restrições
  • 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

Exemplos

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?
Considere usar estruturas de dados específicas de heap/fila de prioridade, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.