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)
相关推荐
Greyson12 分钟前
HTML怎么标注字数限制提示_HTML实时字数统计占位【详解】
jvm·数据库·python
qq_372906935 分钟前
golang如何在Gin中实现路由分组_golang Gin路由分组实现方法
jvm·数据库·python
li星野7 分钟前
刷题:数组
数据结构·算法
qq_3422958213 分钟前
如何备份大量小表组成的数据库_并行导出与多文件并发写入.txt
jvm·数据库·python
justjinji17 分钟前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
qq_2069013919 分钟前
mysql索引排序规则设置方法_mysqlCollation对索引影响
jvm·数据库·python
HHHHH1010HHHHH25 分钟前
如何快速重置SQL表中的自增ID_使用TRUNCATE与重置命令
jvm·数据库·python
m0_7349497927 分钟前
html怎么转konva舞台_Konva如何在HTML中创建2D绘图舞台
jvm·数据库·python
tankeven27 分钟前
HJ182 画展布置
c++·算法
m0_7164300729 分钟前
如何在非受控输入中实时显示值(不依赖状态更新)
jvm·数据库·python