题目:
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
要求:只能在原数组上修改,不能新创一个数组和开辟新的空间。
示例 1:
输入: 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]
代码:
class Solution:
def rotate(self, nums, k):
"""
Do not return anything, modify nums in-place instead.
"""
k%=len(nums)#保证k不超过数组的长度
a=len(nums[len(nums)-k:])#取要轮转的数组长度
nums[:a],nums[a:]=nums[len(nums)-k:],nums[:len(nums)-k]#切片原理赋值
return nums
博客提出一个算法问题,给定整数数组,需将数组元素向右轮转 k 个位置,且 k 为非负数。同时要求只能在原数组上修改,不能创建新数组和开辟新空间,并给出了示例。
178

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



