x的平方根


给你一个非负整数 x ,计算并返回 x算术平方根

由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。

注:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5

1.二分答案10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
int mySqrt(int x) {
long long l = 0, r = x;
while (l != r) {
long long mid = (r + l + 1) / 2;
if (mid * mid <= x) {
l = mid;
} else {
r = mid - 1;
}
}
return r;
}
};