[Leetcode] 69. x 的平方根

69. x 的平方根

来源: 69. x 的平方根

1. 题目描述

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

2. 解题思路

二分法查找

3. 代码

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。