Python教程

leetcode 69. x 的平方根 python3

本文主要是介绍leetcode 69. x 的平方根 python3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  时间:2022-3-4

题目地址:力扣

题目难度:easy

题目描述:

 

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

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

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2
示例 2:

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


思路1:暴力

代码段1:通过

class Solution:
    def mySqrt(self, x: int) -> int:
        i = 0
        while i <= x:
            if i * i == x:
                return i
            elif i * i > x:
                return (i - 1)
            else:
                i += 1

总结:


思路2:二分

代码段2:通过

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

这篇关于leetcode 69. x 的平方根 python3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!