class Solution {
public:
/**
*
* @param x int整型
* @return int整型
*/
int sqrt(int x) {
// write code here
if(x <= 1){
return x;
}
int left = 1;
int right = x;//左右边界
while(left <= right){
int mid = (right + left) / 2;//中间值
if(mid <= x/mid && (mid+1) > x/(mid+1)){
return mid;// mid*mid可能溢出,所以用除法
}else if(mid < x/mid){
left = mid + 1;
}else{
right = mid - 1;
}
}
return 0;
}
};
NC32 求平方根(c++)
最新推荐文章于 2022-03-29 10:49:18 发布