LeetCode 69 X的平方根

原題

解題思路:二分法

class Solution {
public:
    int mySqrt(int x) {
        long long i=0;
        long long j=x/2+1;//x的平方根不大於x/2+1
        while(i<=j){
            long long mid=(i+j)>>1;
            long long res=mid*mid;
            if(res==x) return mid;
            else if(res<x) i=mid+1;
            else j=mid-1;
        }
        return j;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章