LeetCode Sqrt(x)

来源:互联网 发布:淘宝产品拍摄教程 编辑:程序博客网 时间:2024/05/22 15:36




Sqrt(x)

 Total Accepted: 8672 Total Submissions: 40362My Submissions

Implement int sqrt(int x).

Compute and return the square root of x.


二分时,while (l <= r)且返回小的值(r)。

int做乘法时会溢出,虽然答案还是int。



class Solution {public:    int sqrt(int x) {    int l = 0, r = x;    long long mid;    long long cmp;    while (l <= r) {    mid = (l + r) >> 1;    cmp = mid * mid - x;    if (!cmp)    return mid;    else if (cmp < 0)    l = mid + 1;    else    r = mid - 1;    }    return r;//return the smaller one    }};




0 0