LeetCode 热题 -189. 轮转数组

方法一:使用额外的数组

我们可以使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度,我们遍历原数组,将原数组下标为 i 的元素放至新数组下标为 (i+k)mod n 的位置,最后将新数组拷贝至原数组即可。

javascript 复制代码
var rotate = function(nums, k) {
    const n = nums.length;
    const newArr = new Array(n);
    for (let i = 0; i < n; ++i) {
        newArr[(i + k) % n] = nums[i]
    }
    for (let i = 0; i < n; ++i) {
        nums[i] = newArr[i];
    }
};
相关推荐
sali-tec1 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
小明说Java1 小时前
常见排序算法的实现
数据结构·算法·排序算法
行云流水20192 小时前
编程竞赛算法选择:理解时间复杂度提升解题效率
算法
smj2302_796826524 小时前
解决leetcode第3768题.固定长度子数组中的最小逆序对数目
python·算法·leetcode
cynicme4 小时前
力扣3531——统计被覆盖的建筑
算法·leetcode
core5125 小时前
深度解析DeepSeek-R1中GRPO强化学习算法
人工智能·算法·机器学习·deepseek·grpo
mit6.8245 小时前
计数if|
算法
a伊雪5 小时前
c++ 引用参数
c++·算法
圣保罗的大教堂5 小时前
leetcode 3531. 统计被覆盖的建筑 中等
leetcode