Все задачи
Легко Решено: 0 Процент решений: 0%

Поворот массива

Поверните список вправо на заданное число шагов.

Поверните список вправо на 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. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.