Ctrl K

Прыжки по кольцу

Лёгкая
Числа массива ring записаны по кругу: за последним элементом снова идёт первый, а перед первым — последний. Для каждой позиции i сделайте следующее, независимо от остальных позиций: - если ring[i] > 0, отсчитайте от позиции i ровно ring[i] шагов вправо; - если ring[i] < 0, отсчитайте |ring[i]| шагов влево; - если ring[i] == 0, никуда не двигайтесь. Запишите в i-ю ячейку ответа число, которое стоит там, где вы остановились (при нулевом шаге это сам 0). Верните новый массив той же длины; значения всегда берутся из исходного ring.
Пример 1
ring=[2, -1, 0, 5] → [0, 2, 0, 2]

Из позиции 0 два шага вправо — позиция 2, там 0. Из позиции 1 шаг влево — позиция 0, там 2. В позиции 2 стоит 0, он и остаётся. Из позиции 3 пять шагов вправо по кругу из четырёх — позиция 0, там 2.

Пример 2
ring=[-3, 4] → [4, 4]

Из позиции 0 три шага влево по кругу из двух — позиция 1, там 4. Из позиции 1 четыре шага вправо — снова позиция 1, там 4.

Ограничения
  • 1 ≤ len(ring) ≤ 100
  • -100 ≤ ring[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько горел свет ЛёгкаяПереложить в другой лоток ЛёгкаяЖурнал очков викторины ЛёгкаяЗеркало и негатив ЛёгкаяСтроки становятся столбцами Лёгкая
загружаем Python…
Вход
ring=[2, -1, 0, 5]
Ожидается
[0, 2, 0, 2]

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