[LeetCode] 69. Sqrt(x)_Easy tag: Binary Search
2018-08-14 23:53 Johnson_强生仔仔 阅读(167) 评论(0) 编辑 收藏 举报Implement int sqrt(int x)
.
Compute and return the square root of x, where x is guaranteed to be a non-negative integer.
Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.
Example 1:
Input: 4 Output: 2
Example 2:
Input: 8 Output: 2 Explanation: The square root of 8 is 2.82842..., and since the decimal part is truncated, 2 is returned.
use Newton's method, the most important is ans = (ans + x/ans)/2
Code
class Solution: def sqrt(self, x): ans = x while ans * ans > x: ans = (ans + x//ans) //2 return ans