Поверните список вправо на steps позиций: последний элемент перемещается в начало, steps раз.
Реализуйте функцию rotate_right(numbers, steps).
Входные данные
numbers: Список целых чисел. steps: На сколько позиций повернуть.
Выходные данные
Верните повернутый список.
Ограничения
0 ≤ длина ≤ 100 000; 0 ≤ steps ≤ 10⁹
Примеры
Пример 1
Ввод:
steps = 2
numbers = [1, 2, 3, 4, 5]
Ожидаемый вывод:
expected = [4, 5, 1, 2, 3]
Ввод:
long long steps = 2;
std::vector<long long> numbers = {1, 2, 3, 4, 5};
Ожидаемый вывод:
std::vector<long long> expected = {4, 5, 1, 2, 3};
Ввод:
long steps = 2;
long[] numbers = new long[] {1, 2, 3, 4, 5};
Ожидаемый вывод:
long[] expected = new long[] {4, 5, 1, 2, 3};
Пояснение
Два поворота вправо: [5, 1, 2, 3, 4], затем [4, 5, 1, 2, 3].
Пример 2
Ввод:
steps = 3
numbers = [1, 2, 3]
Ожидаемый вывод:
expected = [1, 2, 3]
Ввод:
long long steps = 3;
std::vector<long long> numbers = {1, 2, 3};
Ожидаемый вывод:
std::vector<long long> expected = {1, 2, 3};
Ввод:
long steps = 3;
long[] numbers = new long[] {1, 2, 3};
Ожидаемый вывод:
long[] expected = new long[] {1, 2, 3};
Пояснение
Поворот на длину списка возвращает исходный список: [1, 2, 3].
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.