К задачам

Медиана потока данных

СложнаяАлгоритмы
Лучше работает на десктопе
HeapПроектированиеTwo Heaps

Дан массив целых чисел nums. Элементы поступают один за другим (поток данных). После добавления каждого элемента вычислите медиану всех добавленных элементов.

Верните список медиан после каждого добавления. Если количество чисел чётное, медиана — среднее двух центральных (как float).

Сигнатура

def running_median(nums: list[int]) -> list[float]:

Constraints

  • 1 ≤ len(nums) ≤ 5 × 10⁴
  • -10⁵ ≤ nums[i] ≤ 10⁵

Примеры

Пример 1

Вход:
nums = [2,3,4]
Выход:[2,2.5,3]

Пример 2

Вход:
nums = [1]
Выход:[1]

Пример 3

Вход:
nums = [5,2,8]
Выход:[5,3.5,5]
Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
10:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Медиана потока данных — Алгоритмы задача — ML Mentor