每日一题——LeetCode1389.按既定顺序创建目标数组

方法一 splice

使用splice函数就可以在数组的指定索引位置添加元素

javascript 复制代码
var createTargetArray = function(nums, index) {
    let res=[]
    for(let i=0;i<nums.length;i++){
        res.splice(index[i],0,nums[i])
    }
    return res
};

消耗时间和内存情况:

方法二 模拟

如果res[index[i]]没有值则直接插入

如果有值则把后面元素都后移一位再插入

javascript 复制代码
var createTargetArray = function(nums, index) {
    let res=nums.map((_, i) => [nums[i], index[i]]);
    res.sort((a,b)=>{
        if(a[1]===b[1]) return -1
        return a[1]-b[1]
    })
    return res.map((_,i)=>[res[i][0]])
};

消耗时间和内存情况:

相关推荐
少卿2 分钟前
PerformanceObserver 性能条目类型(Entry Types)
前端·javascript
进击的野人8 分钟前
防抖与节流:优化前端性能的两种关键技术
前端·javascript
小高0079 分钟前
别再滥用 Base64 了——Blob 才是前端减负的正确姿势
前端·javascript·面试
黑羽同学9 分钟前
Fix: 修复AI聊天输入框Safari回车发送bug
前端·javascript·dom
2501_9411113322 分钟前
C++代码重构实战
开发语言·c++·算法
一叶之秋141223 分钟前
从零开始:打造属于你的链式二叉树
数据结构·算法
CoovallyAIHub30 分钟前
CV研究告别数据荒?PAN世界模型实现「多步推理与规划」,可自造高质量训练数据
深度学习·算法·计算机视觉
进击的野人35 分钟前
JavaScript原型与原型链:深入理解面向对象编程的基石
前端·javascript·面试
OlahOlah1 小时前
解决 JavaScript Number 精度问题:处理超大 Long 类型 ID
javascript