Ctrl K

Подвинуть медиану

Средняя
Дан массив целых чисел scores и число target. За один шаг можно увеличить или уменьшить любой элемент на 1. Медиана массива — его средний элемент после сортировки по неубыванию. Если элементов чётное число, средних два, и медианой считается больший из них. Верните наименьшее число шагов, после которого медиана scores станет равна target.
Пример 1
scores=[3, 9, 4, 7, 8], target=5 → 2

В отсортированном виде [3, 4, 7, 8, 9] медиана — 7. Опускаем 7 до 5 за 2 шага; 4 и 3 уже не больше 5, так что медиана станет 5. Итого 2.

Пример 2
scores=[2, 2, 2, 6], target=4 → 2

Длина чётная, медиана — больший из двух средних, то есть элемент с индексом 2 после сортировки, сейчас это 2. Поднимаем одну двойку до 4 за 2 шага: [2, 2, 4, 6], медиана стала 4.

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

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