目录
- 题 目
- 答 案
- 解法1
- 解法2
题 目
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。
如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
答 案
解法1
const searchInsert = (nums, target) => {
for(let i = 0; i < nums.length; i++){
if(nums[i] >= target) {
return i;
}
}
return nums.length;
}
解法2
const searchInsert = (nums, target) => {
let left = 0, right = nums.length – 1;
while(left <= right) {
let mid = Math.floor((left + right) / 2);
if(nums[mid] == target) {
return mid;
} else if(nums[mid] < target) {
left = mid + 1;
} else {
right = mid – 1;
}
}
return left;
}
以上就是JS算法题解搜索插入位置方法示例的详细内容,更多关于JS搜索插入位置算法的资料请关注悠久资源网其它相关文章!
您可能感兴趣的文章:
- JavaScript去掉数组重复项的方法分析【测试可用】
- JavaScript基于对象去除数组重复项的方法
- JS算法题解旋转数组方法示例
- Fuse.js模糊查询算法学习指南
- JavaScript 算法实现复写0双指针解法
- JavaScript日拱算法题解滑动窗口的最大值示例
- JavaScript前端学算法题解LeetCode最大重复子字符串
- JS算法题解数组删除重复项方法示例