Implement int sqrt(int x).

Compute and return the square root of x.

 

 1 class Solution(object):
 2     def mySqrt(self, x):
 3         """
 4         :type x: int
 5         :rtype: int
 6         """
 7         
 8         r = x
 9         while r*r > x:
10             r = (r + x/r) / 2
11         return r

牛顿法

 

 1 class Solution(object):
 2     def mySqrt(self, x):
 3         """
 4         :type x: int
 5         :rtype: int
 6         """
 7         
 8         l, r = 0, x
 9         while l <= r:
10             mid = l + (r-l)//2
11             if mid * mid <= x < (mid+1)*(mid+1):
12                 return mid
13             elif x < mid * mid:
14                 r = mid
15             else:
16                 l = mid + 1

二分法

posted on 2017-03-14 19:22  Ci_pea  阅读(103)  评论(0编辑  收藏  举报