public class Solution {
public int mySqrt(int x) {
long low = 0, high = x;
while (low + 1 < high) {
long mid = low + (high-low)/2;
if (mid * mid > x) high = mid;
else low = mid;
}
if (high * high <= x) return (int) high;
return (int) low;
}
}
class Solution:
"""
@param x: An integer
@return: The sqrt of x
"""
def sqrt(self, x):
# write your code here
if x == 0:
return 0
ans = 0
low, high = 1, x
while low <= high:
mid = low + (high-low)//2
if mid <= x / mid:
low = mid + 1
ans = mid
else:
high = mid - 1
return ans