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];
    }
};
相关推荐
2501_941322032 小时前
通信设备零部件识别与检测基于改进YOLOv8-HAFB-2算法实现
算法·yolo
modelmd2 小时前
【递归算法】汉诺塔
python·算法
2401_838472512 小时前
C++中的装饰器模式实战
开发语言·c++·算法
白中白121382 小时前
算法题-06
算法
珍珠是蚌的眼泪2 小时前
LeetCode_二叉树1
leetcode·二叉树·层序遍历·前序遍历·中序遍历·后续遍历
爱学习的阿磊2 小时前
C++与Qt图形开发
开发语言·c++·算法
爱敲代码的TOM3 小时前
基础算法技巧总结2(算法技巧零碎点,基础数据结构,数论模板)
数据结构·算法
liu_endong3 小时前
杰发科技AC7840——打印所有GPIO的PORT配置寄存器
mcu·算法·杰发科技·autochips·车规芯片
老鼠只爱大米3 小时前
LeetCode经典算法面试题 #199:二叉树的右视图(BFS双队列法、DFS递归法等多种实现方案详细解析)
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·右视图
历程里程碑3 小时前
子串-----和为 K 的子数组
java·数据结构·c++·python·算法·leetcode·tornado