做网站的准备什么,com域名,网站内容页面怎么做,网上设计接单赚钱轮转数组 给定一个整数数组 nums#xff0c;将数组中的元素向右轮转 k 个位置#xff0c;其中 k 是非负数。 注意#xff1a;本题需要原地操作
class Solution(object):def rotate(self, nums, k)::type nums: List[int]:type k: int:rtype: None Do not…轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 注意本题需要原地操作
class Solution(object):def rotate(self, nums, k)::type nums: List[int]:type k: int:rtype: None Do not return anything, modify nums in-place instead.if not nums: returncount len(nums)k k % countnums[:] nums[::-1]nums[:k] nums[:k][::-1]nums[k:] nums[k:][::-1]本题解题思路是 以[]1, 2, 3, 4, 5, 6, 7] 3 为例 1. 先整体轮转将 [1, 2, 3, 4, 5, 6, 7]转为 [7, 6, 5, 4, 3, 2, 1] 2. 再局部分别轮转前k个和剩余的[5, 6, 7, 1, 2, 3, 4]即为答案 这里要注意列表的操作 nums nums[::-1] nums nums[-k:] nums[:-k] 以及 nums.extend(nums); nums nums[length - k:-k] 这些写法nums地址都变了所以不是原地修改