Поворот массива вправо на k шагов ⇐ Python
-
Anonymous
Поворот массива вправо на k шагов
Для заданного целочисленного массива чисел поверните массив вправо на k шагов, где k неотрицательно.
Пример:
Ввод: nums = [1,2,3,4,5,6,7], k = 3
Выход: [5,6,7,1,2,3,4]
Объяснение:
повернуть на 1 шаг вправо: [7,1,2,3,4,5,6]
повернуть на 2 шага вправо: [6,7,1,2,3,4,5]
повернуть на 3 шага вправо: [5,6,7,1,2,3,4]
Как решить задачу с временной сложностью O(n) и пространственной сложностью O(1) (если возможно)?
П.С. Я знаю решения только с временной сложностью O(kn) и пространственной сложностью O(1).
Для заданного целочисленного массива чисел поверните массив вправо на k шагов, где k неотрицательно.
Пример:
Ввод: nums = [1,2,3,4,5,6,7], k = 3
Выход: [5,6,7,1,2,3,4]
Объяснение:
повернуть на 1 шаг вправо: [7,1,2,3,4,5,6]
повернуть на 2 шага вправо: [6,7,1,2,3,4,5]
повернуть на 3 шага вправо: [5,6,7,1,2,3,4]
Как решить задачу с временной сложностью O(n) и пространственной сложностью O(1) (если возможно)?
П.С. Я знаю решения только с временной сложностью O(kn) и пространственной сложностью O(1).
Мобильная версия