150 najlepszych wywiadówCiężko

Znajdź medianę ze strumienia danych

Szczegółowy przewodnik i implementacja Python dla problemu „Znajdź medianę ze strumienia danych”.

Oświadczenie o problemie

Ciężko

Mediana to środkowa wartość na uporządkowanej liście liczb całkowitych. Jeśli rozmiar listy jest parzysty, nie ma wartości środkowej, a mediana jest średnią dwóch wartości środkowych.

Zaimplementuj klasę MedianFinder:

- MedianFinder() Inicjuje obiekt MedianFinder.

- addNum(num: int) Dodaje liczbę całkowitą ze strumienia danych do struktury danych.

- findMedian() -> float Zwraca medianę wszystkich dotychczasowych elementów.

Dane wejściowe to lista operacji i argumentów. Zaimplementuj funkcję medianFinder(operations: list, arguments: list) -> list, która zwraca listę wyników (brak dla konstruktora/addNum, float dla findMedian).

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla sterty/kolejki priorytetowej, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.