Ctrl K

Рядом с ключом

Лёгкая
Дан массив целых чисел values, число key, которое встречается в массиве, и радиус radius. Позиция i считается близкой к ключу, если найдётся позиция j с values[j] == key и |i - j| ≤ radius. Верните все близкие к ключу позиции (нумерация с нуля) в порядке возрастания.
Пример 1
values=[6, 2, 8, 2, 5, 1, 7], key=2, radius=1 → [0, 1, 2, 3, 4]

Значение 2 стоит на позициях 1 и 3. В пределах 1 от них — позиции 0, 1, 2, 3, 4. Позиции 5 и 6 слишком далеко.

Пример 2
values=[4, 4, 9, 4], key=9, radius=0 → [2]

При радиусе 0 подходит только сама позиция, где стоит 9.

Пример 3
values=[1, 3, 3], key=1, radius=3 → [0, 1, 2]
Ограничения
  • 1 ≤ values.length ≤ 1000
  • 1 ≤ values[i] ≤ 1000
  • key встречается в values
  • 0 ≤ radius ≤ values.length
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСжать повторы в отсортированном массиве ЛёгкаяВыкинуть лишнее значение ЛёгкаяСлияние в запасной хвост ЛёгкаяНули в конец ЛёгкаяЗначения в обоих списках Лёгкая
загружаем Python…
Вход
values=[6, 2, 8, 2, 5, 1, 7], key=2, radius=1
Ожидается
[0, 1, 2, 3, 4]

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