69. x 的平方根 JavaScript实现

69. x 的平方根

题目链接

一、思想

题目详解
69. x 的平方根 JavaScript实现_第1张图片

二、代码实现

var mySqrt = function(x) {
    // 对于小于等于1的数
    if(x==0 || x==1) return x

    // 对于大于1的数,使用二分查找,res是最后的结果
    let low=1,high=x,res=-1

    while(low<=high){
        let mid = low + ((high-low)>>1)
        // 将x和mid*mid进行比较,动态调整区间
        if(mid*mid > x){
            high = mid-1;
        }else{
            // 最后的结果res*res <= x,所以只有小于的时候,mid才有可能是res
            res = mid;
            low = mid+1;
        }
    }
    return res;
};

你可能感兴趣的:(leetcode刷题,#,排序算法,leetcode,算法,javascript,数据结构)