题目链接
https://leetcode.com/problems/rotate-array/
题目原文
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array[1,2,3,4,5,6,7]
is rotated to[5,6,7,1,2,3,4]
.Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
题目翻译
向右轮转一个有n个元素的数组k步。比如:n = 7,k = 3时,数组 [1,2,3,4,5,6,7]
可以得到 [5,6,7,1,2,3,4]
。
注:尽量用多种方法来解决这个问题。
(另外:注意只能直接修改原数组,不能返回新的数组,修改必须是”in-place”的。)
思路方法
思路一
利用Python的数组slice的操作和赋值,实际上相当于创建了两个新的数组,分别保存原数组的前后部分,再依次将元素赋值给原数组。【时间复杂度O(n),空间复杂度O(n)】
<