Ctrl K

Средние по окнам вокруг позиций

Средняя
Дан массив неотрицательных целых чисел values и число radius. Для каждой позиции i возьмите окно из элементов с индексами от i - radius до i + radius включительно и посчитайте среднее его элементов с целочисленным делением (дробная часть отбрасывается). Если окно выходит за границы массива, для позиции i запишите -1. Верните массив из len(values) таких чисел.
Пример 1
values=[4, 0, 8, 2, 5], radius=1 → [-1, 4, 3, 5, -1]

Для позиции 1: (4 + 0 + 8) / 3 = 4; для 2: (0 + 8 + 2) / 3 = 3 с отброшенной дробью; для 3: (8 + 2 + 5) / 3 = 5. У крайних позиций соседа не хватает, там -1.

Пример 2
values=[6, 3], radius=0 → [6, 3]

При радиусе 0 окно — сам элемент.

Пример 3
values=[1, 2, 3], radius=2 → [-1, -1, -1]
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i] ≤ 10⁵
  • 0 ≤ radius ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый короткий рывок СредняяОтрезки с ровным шагом СредняяСамая длинная серия единиц с одной правкой Средняяk ближайших значений СредняяОтрезки с маленьким произведением Средняя
загружаем Python…
Вход
values=[4, 0, 8, 2, 5], radius=1
Ожидается
[-1, 4, 3, 5, -1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 97 тестов на сервере, включая скрытые.