给你一个非负整数x,计算并返回x平方根
由于返回类型是整数,结果只保留整数部分,小数部分将被舍去
注意:不允许使用任何内置指数函数和算符,例如pow(x, 0.5)或者x ** 0.5

示例 1:

输入:x = 4
输出:2

示例 2:

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

提示:

  • 0 <= x <= 231 - 1

解1 2021/9/9 O(?)

import math

def mySqrt(x: int) -> int:
    # 不允许用内置函数
    # 正常解,二分即可,懒得写
    return int(math.sqrt(x))

if __name__ == '__main__':
    print(mySqrt(2))
    print(mySqrt(8))
    print(mySqrt(4))

Leetcode - 69. x 的平方根_技术