题目描述
Implement int sqrt(int x).
Compute and return the square root of x.
解题思路
二分。 每次找中间值,判断其平方与目标值的大小关系。
AC代码
class Solution {
public:
int mySqrt(
int x) {
int start =
0, end = x;
while (start < end) {
double mid = (start + end) /
2;
if (mid * mid == x)
return mid;
else if (mid * mid < x) {
if ((mid +
1) * (mid +
1) > x)
return mid;
else
start = mid +
1;
}
else
end = mid -
1;
}
return start;
}
};
转载请注明原文地址: https://ju.6miu.com/read-24991.html