colors: после последнего фонаря снова идёт первый. За один шаг можно перейти к соседнему фонарю в любую сторону, так что расстояние между позициями i и j — это меньшее из |i - j| и n - |i - j|, где n — число фонарей.
Дан массив запросов asks, каждый запрос — номер фонаря (с нуля). Для каждого запроса найдите расстояние до ближайшего **другого** фонаря того же цвета. Если такого фонаря нет, ответ на запрос -1.
Верните массив ответов в том же порядке, что и запросы.colors=[4, 7, 2, 4, 9, 7], asks=[0, 1, 4] → [3, 2, -1]
Фонарь 0 (цвет 4) — ближайший такой же на позиции 3, до него 3 шага в любую сторону. Фонарь 1 (цвет 7) — второй цвет 7 на позиции 5: напрямую 4 шага, а через начало кольца 1 → 0 → 5 всего 2. Цвет 9 встречается один раз, поэтому -1.
colors=[5, 5, 5, 5], asks=[2, 3] → [1, 1]
У каждого фонаря соседи того же цвета, расстояние 1.
colors=[8], asks=[0] → [-1]
colors=[4, 7, 2, 4, 9, 7], asks=[0, 1, 4]
[3, 2, -1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 82 теста на сервере, включая скрытые.