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

力扣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数组。

相关推荐
Wang's Blog6 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain7 小时前
C++转Java日记(03)
java·开发语言·c++
皮皮林5517 小时前
Java实现微信扫码登录
java
布莱克6057 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
Yyyyyy~9 小时前
【Java】Day4Web基础知识
java·spring boot
D e re k ZH10 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
灿飞屋10 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
石小石Orz10 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
NE_STOP11 小时前
Spring AI Alibaba - MCP入门
java