算法:按既定顺序创建目标数组

力扣1389

提示:

  • 1 <= nums.length, index.length <= 100
  • nums.length == index.length
  • 0 <= nums[i] <= 100
  • 0 <= index[i] <= i
题解:
java 复制代码
class Solution {
    public int[] createTargetArray(int[] nums, int[] index) {
        int[] target = new int[nums.length];
        int flag = 0;
        for(int i=0;i<nums.length;i++){
            for(int k=flag;k>index[i];k--){
                target[k] = target[k-1];
            }
            target[index[i]] = nums[i];
            
            flag++;
        }
        return target;
    }
}
思路:

双循环,需要确定target的边界,如果插入的位置小于边界,则插入位置后的数都向后移一个位置,插入位置就是index数组,插入的数就是nums数组。

相关推荐
阿里加多1 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood2 小时前
java中`==`和`.equals()`区别
java·开发语言·python
小小李程序员2 小时前
Langchain4j工具调用获取不到ThreadLocal
java·后端·ai
IronMurphy2 小时前
【算法三十九】994. 腐烂的橘子
算法
zs宝来了2 小时前
AQS详解
java·开发语言·jvm
Ares-Wang3 小时前
算法》》旅行商问题 TSP、7座桥问题 哈密顿回路 深度优先 和 宽度优先
算法·深度优先·宽度优先
Liqiuyue3 小时前
Transformer:现代AI革命背后的核心模型
人工智能·算法·机器学习
WolfGang0073213 小时前
代码随想录算法训练营 Day34 | 动态规划 part07
算法·动态规划
Kk.08024 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法