Sqrt(x)
Source
- lintcode: Sqrt(x)
Implement int sqrt(int x).
Compute and return the square root of x.
Example
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
Challenge
O(log(x))
题解
start要从1开始
Python
class Solution:
"""
@param x: An integer
@return: The sqrt of x
"""
def sqrt(self, x):
# write your code here
if x<0:
return -1
if x==0:
return 0
start=1
end=x
while True:
mid=(start+end)/2
if mid>x/mid:
end=mid-1
else:
if (mid+1)>x/(mid+1):
return mid
else:
start=mid+1