示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,
由于返回类型是整数,小数部分将被舍去。
int mySqrt(long long int x){
if(x==0){
return 0;
}
if(x>0&&x<4){
return 1;
}
long long int low,heigh,mid,squre;
low=0;
heigh=(x%2==0)?(x/2):(x+1)/2;
while(low<=heigh){
mid=(low+heigh)/2;
squre=mid*mid;
if(squre==x){
return mid;
}
else if(squre>x){
heigh=mid-1;
}
else{
low=mid+1;
if((low*low)>x){
return mid;
}
}
}
return mid;
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务