LeetCode每日一题:1389.按既定顺序创建目标数组(八十九)

统计位数为偶数的数字

一、LeetCode题解

瞧一瞧~

二、算法题

题目

给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:

目标数组 target 最初为空。
按从左到右的顺序依次读取 nums[i]index[i],在 target 数组中的下标 index[i] 处插入值 nums[i]
重复上一步,直到在 nums 和 index 中都没有要读取的元素。
请你返回目标数组。

示例 1:

输入:nums = [0,1,2,3,4], index = [0,1,2,2,1]
输出:[0,4,1,3,2]
解释:
nums       index     target
0            0        [0]
1            1        [0,1]
2            2        [0,1,2]
3            2        [0,1,3,2]
4            1        [0,4,1,3,2]

示例 2:

输入:nums = [1,2,3,4,0], index = [0,1,2,3,0]
输出:[0,1,2,3,4]
解释:
nums       index     target
1            0        [1]
2            1        [1,2]
3            2        [1,2,3]
4            3        [1,2,3,4]
0            0        [0,1,2,3,4]



## 解法一 (splice())

#### 思路
直接截取当前下标下的数组
* 时间复杂度:O(n)
* 时间复杂度:O(1)
#### 代码
```js
var createTargetArray = function(nums, index) {
    let target = [];
    index.forEach((item, i) => {
        target.splice(item, 0, nums[i]);    
    });
    return target;
};

结果

在这里插入图片描述

发布了292 篇原创文章 · 获赞 48 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/jbj6568839z/article/details/105641625