搜索插入位置

168 阅读1分钟

一、 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

分析:

JS 获取目标在数组中的索引值直接使用数组 indexOf 方法,如果存在那么返回目标在数组中的下标,如果不存在返回 -1 如果不存在,那么使用插入排序的思想,将目标插入到排序数列当中即可。

image.png

插入排序

完整代码:

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var searchInsert = function(nums, target) {
    let insertIndex = nums.indexOf(target)
    if (insertIndex !== -1) {
        return insertIndex
    } else {
        insertIndex = nums.length - 1
        while(nums[insertIndex] > target) {
            nums[insertIndex + 1] = nums[insertIndex]
            insertIndex--
        }
        nums[insertIndex + 1] = target
    }
    return insertIndex + 1
};