Циклический сдвиг массива тремя разворотами

Массивы (списки) Очень легкая
Дан массив 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%успешность
Войдите, чтобы решить →