Sqrt(x)
思路:
二分法 Java code:
class Solution {
public int mySqrt(int x) {
if (x <= 1) return x;
long l = 1, r = x / 2 + 1;
while (l + 1 < r) {
long mid = l + (r - l) / 2;
if (mid * mid == x) return (int)mid;
else if (mid * mid < x) l = mid;
else r = mid;
}
if (r * r <= x) return (int)r;
else return (int)l;
}
}