Ctrl K

Прокрутка массива вправо

Средняя
Дан массив целых чисел values и число k ≥ 0. Прокрутите массив вправо на k позиций по кругу: за один шаг последний элемент переходит в начало, а остальные сдвигаются на одну позицию вправо. Верните прокрученный массив. Задачу можно решить несколькими способами. Попробуйте обойтись O(1) дополнительной памяти.
Пример 1
values=[4, 8, 15, 16, 23], k=2 → [16, 23, 4, 8, 15]

Два последних элемента переезжают в начало: получается [16, 23, 4, 8, 15].

Пример 2
values=[1, 2, 3], k=4 → [3, 1, 2]

Сдвиг на 3 возвращает массив к исходному виду, так что сдвиг на 4 равен сдвигу на 1: [3, 1, 2].

Пример 3
values=[-5, 9], k=0 → [-5, 9]

Сдвига нет, массив не меняется.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -2³¹ ≤ values[i] ≤ 2³¹ - 1
  • 0 ≤ k ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗначения параболы по порядку СредняяКрайние камни сдвигаются СредняяКвадрат равен произведению пары СредняяСловесная дуэль СложнаяДве доски и вода Средняя
загружаем Python…
Вход
values=[4, 8, 15, 16, 23], k=2
Ожидается
[16, 23, 4, 8, 15]

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