JavaScript实现搜索插入位置算法详解

作者:纸飞机

时间:2026-10-30

浏览:523

本文介绍如何在JavaScript中解决搜索插入位置问题。针对已排序数组,若目标值存在则返回索引,不存在则返回应插入的位置。文章提供了两种解法:第一种为遍历数组的线性查找,第二种为效率更高的二分查找算法,并附带完整代码示例。

文章目录

题目

给定一个已排序的数组和一个目标值,需要在数组中查找该目标值并返回其索引。

若目标值不在数组中,则返回它按顺序插入后所在的位置索引。

题目假设数组中不包含重复元素。

示例 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搜索插入位置算法的资料请关注本站其它相关文章!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章