【leetcode】-69-x的平方根

【二分法】

k*k<=X的平方,要求的是最接近的整数

mid*mid不断靠近x

 int mySqrt(int x) {
        int left=0,right=x,mid=0,res=0;
        while(left<=right){//注意是小于等于,不然x=0的时候进不来
            mid=left+(right-left)/2;
            cout<<mid;
            if((long long)mid*mid<=x){//注意是小于等于,不然可以整开方是无法更新
                res=mid;
                left=mid+1;
            }else{
                right=mid-1;
            }
        }
        return res;
    }

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/113729403