leetcode之sqrt(x)

来源:互联网 发布:mysql 指定配置文件 编辑:程序博客网 时间:2024/04/28 08:36

牛顿迭代法

class Solution {

public:
    int sqrt(int x) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        if (x<=1) {
            return x;
        }
        int left=0;
        int right=x;
        while (left <= right) {
             int mid = left+(right-left)/2;
             int now = x/mid;
             if (now < mid) {
                 right = mid-1;
             } else if(now > mid) {
                 left = mid+1;
             } else {
                 return mid;
             }
        }
        return left>right?right:left;
    }
};
原创粉丝点击