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

每日一题——LeetCode1389.按既定顺序创建目标数组_第1张图片

方法一 splice

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

var createTargetArray = function(nums, index) {
    let res=[]
    for(let i=0;i

消耗时间和内存情况:

每日一题——LeetCode1389.按既定顺序创建目标数组_第2张图片

方法二  模拟

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

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

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]])
};

 消耗时间和内存情况:

每日一题——LeetCode1389.按既定顺序创建目标数组_第3张图片

你可能感兴趣的:(每日一题,算法,javascript,leetcode)