欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

69. x 的平方根(python)

程序员文章站 2022-03-15 10:17:16
...

题目描述(简单)

实现 int sqrt(int x) 函数。

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

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

示例 1:

输入: 4
输出: 2

示例 2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842..., 
     由于返回类型是整数,小数部分将被舍去。

思路分析

本题难度低,使用二分查找的思想即可解答。

代码

本次提交击败python3的80.75%的用户

class Solution:
    def mySqrt(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x == 0:
            return 0
        start = 1
        end = x
        while end - start > 1:
            mid = (start + end) // 2
            if mid ** 2 > x:
                end = mid
            elif mid ** 2 < x:
                start = mid
            else:
                return mid
        return start

 

相关标签: 二分查找