【题目】
提示:
1 <= nums.length <= 105
-231 <= nums[i] <= 231 - 1
0 <= k <= 105
【代码】
【方法1:翻转法】

class Solution:
def rotate(self, nums: List[int], k: int) -> None:
k%=len(nums)
def innerswap(N):
sz=len(N)
left,right=0,sz-1
while left<right:
N[left],N[right]=N[right],N[left]
left+=1
right-=1
return N
nums[:]=innerswap(nums)
nums[:]=innerswap(nums[:k])+innerswap(nums[k:])
return
本文介绍了一种有效的数组旋转算法——翻转法,并提供了详细的Python实现代码。该算法首先将整个数组进行一次翻转,然后分别翻转前k个元素和剩余部分,以此达到旋转的效果。适用于长度不超过10^5的数组,且每个元素值范围在-2^31到2^31-1之间。
1086

被折叠的 条评论
为什么被折叠?



