力扣练习之x 的平方根

我爱海鲸 2023-05-18 22:11:04 暂无标签

简介中级算法、数学

原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-medium/xwrzwc/

解法一:

class Solution:
    def mySqrt(self, x: int) -> int:
        left,right = 0,x
        result = -1
        while left <= right:
            mid = (left + right) // 2
            if mid * mid <= x:
                result = mid
                left = mid + 1
            else:
                right = mid - 1
        return result

思路:

二分法,如果当前猜测的数的平方小于等于x,则更新左端点为当前数,如果当前猜测的数的平方大于x,则更新右端点为当前数。

你好:我的2025