每日一题——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
};

消耗时间和内存情况:

方法二 模拟

如果resindex\[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]])
};

消耗时间和内存情况:

相关推荐
鸿蒙开发16 小时前
小程序存档写到一半怎么办?双槽保存与损坏恢复实战
前端·javascript·react.js
文丑颜不良啊16 小时前
LeetCode2521~2540题目解析
java·leetcode
知忆_IS17 小时前
TerriaMap 开发实战04:MVT数据自定义符号化 - terriajs源码修改
javascript·webgis·terriamap·terriajs
lisw0517 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术18 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs19 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
云上工程笔记19 小时前
SRT字幕一键转手绘动画:srt-whiteboard-animation的复刻实录
大数据·开发语言·javascript·人工智能·机器学习
自信1504130575919 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
文丑颜不良啊19 小时前
LeetCode2501~2520题目解析
java·leetcode
FungLeo19 小时前
成为全栈·Vue管理后台篇·<scriptsetup>:把页面拆成可读、可测的 Vue 组件
前端·javascript·vue.js·typescript·前端组件化·composition api·vue sfc