题目
- 难度:简单
- 题目链接:https://leetcode-cn.com/problems/create-target-array-in-the-given-order/
- 语言: PHP
- 题目内容:
给你两个整数数组 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] |
示例 3:
输入:nums = [1], index = [0]
输出:[1]
解题
LeetCode给定函数体
1 | class Solution { |
思路
判断当前数组位置是否有值, 有值则将值往后移(递归思想), 没有值则插入
1 | class Solution { |
结果
使用递归方法,虽然说可以实现,但是耗时较长。有更好的解法可以在评论留言。
LeetCode其他题解
查看其他大佬分享题解,代码如下:
1 | class Solution { |
思路如下:
将index数组中的每一项遍历, 判断在插入后实际对应的下标位置得到($_tmp_index), 然后通过该映射写入到结果中。
运行结果如下:
- 本文链接: https://lemonlyue.github.io/2023/10/02/LeetCode1389/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。