按既定顺序创建目标数组 (leetcode181周赛T1)
给你两个整数数组 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]
提示:
1 <= nums.length, index.length <= 100nums.length == index.length0 <= nums[i] <= 1000 <= index[i] <= i
四道题,会两道,第二道运行超时,就这道题通过了,太菜了,,
思路:数组元素后移插入
1 int* createTargetArray(int* nums, int numsSize, int* index, int indexSize, int* returnSize)
2 {
3 int *target;
4 int i;
5
6 target = (int *)malloc(sizeof(int) * indexSize);
7 memset(target,0,indexSize);
8
9 for(i=0; i<indexSize; i++)
10 {
11 if(i == 0)
12 {
13 target[index[i]] = nums[i];
14 }
15 else //把target中的数后移
16 {
17 for(int j = indexSize-1; j > index[i]; j--)
18 {
19 target[j] = target[j-1];
20 }
21 target[index[i]] = nums[i];
22 }
23
24 }
25
26 *returnSize = indexSize;
27 return target;
28 }
按既定顺序创建目标数组 (leetcode181周赛T1)的更多相关文章
- [LeetCode]1389. 按既定顺序创建目标数组
给你两个整数数组 nums 和 index.你需要按照以下规则创建目标数组: 目标数组 target 最初为空. 按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组 ...
- /*使用PHP创建一个数组,保存5個员工的信息(ename/sex/salary/birthday/pic)*/
<?php/*使用PHP创建一个数组,保存5個员工的信息(ename/sex/salary/birthday/pic)*/$empList=[ ['ename'=>'张学友','se ...
- php创建生成数组的相关函数
php中和数组创建生成的函数有很多,用于定义数组的函数array(),数组合并函数array_combine(),还有array_fill(),array_fill_keys(),range()等等. ...
- 小记:目标数组的长度不够。请检查 destIndex 和长度以及数组的下限。
异常:System.ArgumentException: 目标数组的长度不够.请检查 destIndex 和长度以及数组的下限.(不好意思忘记截图了) 发生异常的代码如下: var list = ne ...
- java创建泛型数组
java中创建泛型数组并不是不可能,创建泛型数组通过反射,给构造函数传递两个参数,一个类型标记,一个数组大小.' 简单Demo如下: import java.lang.reflect.Array; / ...
- JS创建一个数组1.求和 2.求平均值 3.最大值 4.最小值 5.数组逆序 6.数组去重 0.退出
rs = require("readline-sync"); let arr = []; console.log("请输入数组的长度:"); let arr_l ...
- System.ArgumentException: 目标数组的长度不够。请检查 destIndex 和长度以及数组的下限
扫码支付接口将要上线,近几天在优化系统性能.昨天把日志Helper类的日志记录改成了使用Queue<T>对象来实现异步处理.做了单元测试,并模拟多线程来测试后,发现正常.今天将站点部署到准 ...
- 如何在JavaScript中手动创建类数组对象
前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...
- 【lunux-make: *** 没有规则可以创建目标“install”。 停止。问题】
[root@localhost nginx-1.8.0]# make installmake: *** 没有规则可以创建目标“install”. 停止.
- Java中创建泛型数组
Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...
随机推荐
- Django: Token分发
Django后台token分发 在settings.py中引入 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'd ...
- Yunfly 一款高效、性能优异的 node.js web 框架
介绍 Yunfly 一款高性能 Node.js WEB 框架, 使用 Typescript 构建我们的应用. 使用 Koa2 做为 HTTP 底层框架, 使用 routing-controllers ...
- Linux中对管道命令中的任意子命令进行返回码校验
~~ linux return code with pipeline~~ ~~ linux 管道命令中的返回码~~ BASH SHELL中,通常使用 $? 来获取上一条命令的返回码. Shell Sc ...
- js面向对象编程,你需要知道这些
javascript中对象由key和value组成,key是标识符,value可以为任意类型 创建对象的方式 1.通过构造函数 var obj = new Object() obj.name = 'a ...
- shell命令-lsof
前言 lsof是系统管理常用命令,其名指的是list open files,列出打开的文件,而在linux系统,一切皆文件. centos7安装:yum install -y lsof 获取网络信息 ...
- Vue3 路由优化,使页面初次渲染效率翻倍
3996 条路由? addRoute函数用了大约1s才执行完毕.通过观察,发现居然有3996条路由记录. 可是项目并没有这么多的页面啊~ 重复路由 let routes: Array<Route ...
- javascript创建数组
javascript数组:var array=[ ]等于创建一个数组 array[0]代表给数组的第一个位置上赋值,值为32 array[5]代表给数组的第六位置上赋值.值为3 在位置0,1,2,5位 ...
- 【技术积累】Vue.js中的CSS过渡【一】
CSS过渡是什么 在Vue中,可以使用<transition>组件来实现CSS过渡效果.CSS过渡是指在元素的状态发生改变时,通过添加或移除CSS类来实现平滑的过渡效果. <tran ...
- Windows 某些软件显示"口口"解决办法
和乱码不同,文字变成"口口",一般是语言环境出错了. 解决办法 开始->控制面板->区域 (时钟.语言和区域)->区域:更改设置->管理->非 Uni ...
- 10分钟理解契约测试及如何在C#中实现
在软件开发中,确保微服务和API的可靠性和稳定性非常重要. 随着应用程序变得越来越复杂,对强大的测试策略的需求也越来越大,这些策略可以帮助团队在不牺牲敏捷性的情况下交付高质量的代码. 近年来获得广泛关 ...