0%

Leetcode 189 轮转数组

给定一个整数数组 nums ,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

一开始没有考虑到 k 可能比整个数组长度长的情况,后来改了一下就过了:

1
2
3
4
5
6
7
8
9
10
11
12
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
k = k%n
tmp = nums[n-k:n]
for i in range(n-k-1, -1, -1):
nums[i+k] = nums[i]
for j in range(len(tmp)):
nums[j] = tmp[j]