Контест Junior Слайсы и мапы изнутри обновлено
Циклический сдвиг слайса на Go
Условие
Сдвиньте массив циклически на k позиций вправо. Отрицательное k означает сдвиг влево.
Ввод: n k (1 ≤ n ≤ 2·10⁵, |k| ≤ 10¹⁸), затем n целых чисел.
Вывод: n чисел через пробел.
Пример
5 2
1 2 3 4 5
4 5 1 2 3
Как подойти
Нормализовать k по модулю n с учётом отрицательного остатка, затем три разворота.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Ещё по теме «Слайсы и мапы изнутри»
- Разбить слайс на части по k на Go
- Удаление дубликатов с сохранением порядка на Go
- Топ-k частых слов на Go
- Что выведет Go: append при полной ёмкости
- Что выведет Go: два append в один подслайс
- Что выведет Go: массив передаётся по значению
- Что выведет Go: изменение элемента и append в функции
- Что выведет Go: удаление ключей во время range