704. 二分查找 JavaScript实现

49 阅读1分钟

704. 二分查找

题目链接

var search = function(nums, target) {
    // 左右两边的下标
    let left = 0, right = nums.length-1;  

    while(left <= right){
        // let mid = (left+right)/2 会超出时间限制
        // 这样的做法防止两个都是int的最大值造成越界
        let mid = left + Math.floor((right-left)/2)

        if(nums[mid] == target){
            return mid
        }else if(nums[mid] > target){
            right = mid-1
        }else if(nums[mid] < target){
            left = mid+1
        }
    }
    return -1
};