LeetCode: Sqrt(x)

来源:互联网 发布:p2p风控程序员 编辑:程序博客网 时间:2024/06/06 07:11

思路:二分查找,但是注意到一个INT数的平方会超过INT的表示范围,所以,中间过程需要用long long 类型保存。

code:

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


0 0
原创粉丝点击