150 principais entrevistasDifícil

Encontre a mediana do fluxo de dados

Guia detalhado e implementação de Python para o problema 'Encontrar mediana do fluxo de dados'.

Declaração do problema

Difícil

A mediana é o valor central em uma lista de inteiros ordenados. Se o tamanho da lista for par, não existe valor intermediário e a mediana é a média dos dois valores intermediários.

Implemente a classe MedianFinder:

- MedianFinder() Inicializa o objeto MedianFinder.

- addNum(num: int) Adiciona o inteiro num do fluxo de dados à estrutura de dados.

- findMedian() -> float Retorna a mediana de todos os elementos até agora.

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

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

Exemplos

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