本文正在参与掘金团队号上线活动,点击 查看大厂春招职位
一、题目描述:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
示例 2:
输入: [1,3,5,6], 2
输出: 1
示例 3:
输入: [1,3,5,6], 7
输出: 4
示例 4:
输入: [1,3,5,6], 0
输出: 0
二、思路分析:
- 数组
indexOf得到存在于数组中目标元素的位置下标; - 若不存在数组中,题目说明:数组中无重复元素,则可以将元素插入大于此元素的数组下标位置
三、AC代码
var searchInsert = function(nums, target) {
let has = nums.indexOf(target);
if (has > -1) {
return has;
} else {
let len = nums.length;
for (var i = 0; i < len; i++) {
if (nums[i] > target) {
return i;
}
}
return len;
}
};
执行结果
执行结果:通过
执行用时:80 ms, 在所有 JavaScript 提交中击败了79.79%的用户
内存消耗:38.9 MB, 在所有 JavaScript 提交中击败了27.05%的用户
四、总结:
- 数组
indexOf得到已存在数组中目标元素的下标 - 数组不存在的元素,循环得到插入的位置下标