容易 x的平方根
23%
通过
实现 int sqrt(int x)
函数,计算并返回 x 的平方根。
Yes
样例
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
挑战
O(log(x))
class Solution {
/**
* @param x: An integer
* @return: The sqrt of x
*/
public static int sqrt(int x) {
int len;
if(x%2==0)
len = x/2;
else
{
len = x/2+1;
}
int i=0;
while(i<=len)
{
if( (2147483647-(i*i)) < (2*i+1) )
return i;
if((i*i==x) || ( i*i<x && (i+1)*(i+1)>x ))
{
return i;
}
i++;
}
return 0;
}
}