Циклический сдвиг массива тремя разворотами
Массивы (списки)
Очень легкая
Дан массив nums и число k. Сдвиньте массив вправо на k позиций (последние k элементов становятся первыми) и верните результат.
Решение в лоб - создать новый массив и расставить элементы по формуле индекса. Более элегантный приём с O(1) дополнительной памяти: разверните весь массив, затем разверните первые k элементов, затем оставшиеся - тремя развороты дают тот же результат.
Сигнатура функции
rotate_array(nums: list[int], k: int) -> list[int]
Примеры
| Вход | Ожидаемый результат |
| [[1, 2, 3, 4, 5, 6, 7], 3] | [5, 6, 7, 1, 2, 3, 4] |
| [[-1, -100, 3, 99], 2] | [3, 99, -1, -100] |
1решили
1пытались
100%успешность
Войдите, чтобы решить →