赞
踩
示例 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 © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。