Медиана скользящего окна

Задача по программированию с проверкой онлайн

Сложность
Средняя
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Поиск и сортировка
Массивы и списки

Дан список целых чисел nums и размер окна k, где 1 ≤ k ≤ длины списка. Окно из k подряд идущих элементов сдвигается по списку на одну позицию слева направо. Верните список медиан всех n − k + 1 окон по порядку.

Медиана окна — средний элемент после сортировки при нечётном k и среднее арифметическое двух средних элементов при чётном k; ответ — дробные числа. Значения лежат в пределах 32-битного целого, поэтому сумма двух может не поместиться в 32 бита. Ограничения: до 10 000 элементов; сортировать каждое окно заново слишком медленно.

Пример: [1, 3, -1, -3, 5, 3, 6, 7], 3 → [1.0, -1.0, -1.0, 3.0, 5.0, 6.0].


Источник: задача CodeShare

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки