实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
class Solution {
public int mySqrt(int x
) {
if (x
== 0) return 0;
long l
= 1, r
= x
/ 2;
while (l
< r
) {
long mid
= l
+ (r
- l
+ 1) / 2;
long square
= mid
* mid
;
if (square
> x
) {
r
= mid
- 1;
} else {
l
= mid
;
}
}
return (int)l
;
}
}
牛顿法就不写了,用公式循环判断。
转载请注明原文地址:https://blackberry.8miu.com/read-39002.html