题目分析:
这一题让我们自己实现开平方根,但只需要保留到整数位就可以,这种题目往往可以用二分法解决两头夹逼解决:
测试代码:
class Solution:
def mySqrt(self, x: int) -> int:
if x in {0, 1}: return x
start = 0; end = x
while start < end:
mid = int((start + end) / 2)
if int(x / mid) >= mid:
start = mid + 1
else:
end = mid
return end - 1
print(Solution().mySqrt(0))