Ctrl K

k ближайших значений

Средняя
Дан отсортированный по неубыванию список целых чисел values, число k и число target. Выберите из списка k элементов, ближайших к target, и верните их по возрастанию. Элемент a ближе элемента b, если |a - target| < |b - target|, а при равных расстояниях ближе считается меньший. Повторяющиеся значения — разные элементы, их можно взять несколько.
Пример 1
values=[2, 4, 6, 8, 10], k=3, target=7 → [4, 6, 8]

6 и 8 на расстоянии 1, затем 4 и 10 на расстоянии 3 — из них берём меньшее, 4.

Пример 2
values=[1, 1, 3, 20], k=2, target=30 → [3, 20]

Ближе всего 20, следом 3.

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

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