Войти Регистрация
Алгоритмы

15. k ближайших по значению к элементу

Средняя

Даны отсортированный по неубыванию массив a, индекс index и число k. Верните k элементов массива, ближайших по значению к a[index]. Сам a[index] входит в ответ.

При равном расстоянии берите меньшее значение. Порядок в ответе не важен.

В работе: Подобрать k товаров с ценой ближе всего к цене выбранного.

Пример 1

Ввод
a = [1, 4, 6, 9, 15]
index = 2
k = 3
Вывод
[6, 4, 9]

К 6 ближе всего 4 и 9.

Пример 2

Ввод
a = [10, 20, 21, 40]
index = 0
k = 2
Вывод
[10, 20]

Ограничения

  • 1 ≤ k ≤ длина a ≤ 10⁶
  • 0 ≤ index < длина a
  • Лимит — 1 с на тест.
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def k_closest(a, index, k):
Два указателяОтсортированный массивцельO(n)

Источник: отчёт о Яндексе, 2023. Условие пересказано своими словами.