leetcode_数组 189. 轮转数组

189. 轮转数组

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

  • 示例 1:

    • 输入: nums = 1,2,3,4,5,6,7, k = 3
    • 输出: 5,6,7,1,2,3,4
  • 示例 2:

    • 输入:nums = -1,-100,3,99, k = 2
    • 输出:3,99,-1,-100

思路

  1. 首先计算有效轮转次数,轮转 k 次和轮转 k % len(nums) 次效果相同
  2. 向右轮转 k 个位置,相当于将数组的最后 k 个元素移动到前面,即新数组 = nums-k: + nums:-k,注意前后拼接顺序

实现

bash 复制代码
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.
        """

        k = k % len(nums)
        nums[:] = nums[-k:] + nums[:-k]
        
        return nums
  • 时间复杂度: O(n)
  • 空间复杂度: O(1)
相关推荐
怕浪猫4 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i6 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
Evand J6 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
言乐67 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐67 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779137 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i8 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
yl45308 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
朝朝辞暮i8 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿8 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网