Sqrt(x)

来源:互联网 发布:软件质量分析师 编辑:程序博客网 时间:2024/04/30 05:50

Bisection Method

Use unsigned long long for start, end, mid and cur

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


0 0
原创粉丝点击