leetcode-69-Sqrt()

class Solution {
public:
    int mySqrt(int x) {
        if(x<=1)
            return x;
        int left=0, right=x;
        while(left<right){
            int mid = left + (right-left)/2;
            if(x/mid >= mid)
                left = mid + 1;
            else
                right = mid;
        }
        return right-1;
    }
};

注意大于等于的条件下要+1,小于条件下不-1;同时务必要使得mid不等于零。

猜你喜欢

转载自blog.csdn.net/vigorqq/article/details/80710047