题目大意:
实现函数 int sqrt(int x).
计算并返回x的平方根(整型)解题思路:
题目并不要求计算sqrt(x)的精确值,只需返回小于等于sqrt(x)的最大整数即可。- 二分法
class Solution(object):
def mySqrt(self, x):
"""
:type x: int
:rtype: int
"""
low, high, mid = 0, x, x / 2
while low <= high:
if mid * mid > x:
high = mid - 1
else:
low = mid + 1
mid = (low + high) / 2
return mid