- 
                Notifications
    You must be signed in to change notification settings 
- Fork 24
Open
Labels
Description
二分查找
理解二分算法可以参考:二分查找详解
// 左闭右闭区间
const search = function(nums, target) {
    let start = 0
    let end = nums.length - 1
    while (start <= end) {
        const mid = start + ((end - start) >> 1)
        if (nums[mid] === target) return mid
        if (nums[mid] < target) {
            start = mid + 1
        } else {
            end = mid - 1
        }
    }
    return -1
}// 左闭右开区间
const search = function(nums, target) {
    let start = 0
    let end = nums.length
    while (start < end) {
        const mid = start + ((end - start) >> 1)
        if (nums[mid] === target) return mid
        if (nums[mid] < target) {
            start = mid + 1
        } else {
            end = mid
        }
    }
    return -1
}- 时间复杂度:O(logn)
- 空间复杂度:O(1)