二分查找:搜索插入位置

34 阅读1分钟

思路:

二分查找

func searchInsert(nums []int, target int) int {
    left, right := 0, len(nums)-1
    for left <= right {
        mid := left + (right-left)/2
        if nums[mid] == target {
            return mid
        } else if nums[mid] < target {
            left = mid + 1
        } else {
            //注意,一定是right-1,否则可能进入死循环
            //right = mid
            right = mid-1
        }
    }
    return left
}