Rotate Array
Question
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.
Tags
- Array
Thought
Straightforward algorithm.
Notice: Time complexity is O(n) and the space complexity is also O(n) in this algorithm.
Code
class Solution(object):
def rotate(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: void Do not return anything, modify nums in-place instead.
"""
n = len(nums)
k = k % n
nums[:] = nums[-k:] + nums[:-k]