
1 题目给定一个整数数组 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]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]2 分析观察原始数组nums,和将元素向左轮转k个位置之后的数组,可以发现通过以下三步可以实现:首先反转整个数组;然后反转前k个元素最后反转剩下的部分但是同时需要关注kn的情况,可以通过k=k%n来解决。因此,问题就变为了如何快速、原地翻转数组。首先,python有自带的reversed函数,写起来会非常简单。defrotate(self,nums,k):n=len(nums)ifkn:k=k%n nums.reverse()nums[