69. x的平方根
问题链接
https://leetcode.cn/problems/sqrtx/description/
解题思路
这个题目,可以用1到x来进行二分。
对照上一题的解题思路,当我们不知道最后应该返回什么的时候,就去想mid == left == right的时候,我们应该返回什么。
代码
class Solution: def mySqrt(self, x: int) -> int: left, right = 1, x while left <= right: mid = (left + right) >> 1 tmp = mid * mid if tmp == x: return mid elif tmp < x: left = mid + 1 else: right = mid - 1 return right