367. 有效的完全平方数

367. 有效的完全平方数,第1张

367. 有效的完全平方数

先考虑不进阶 结果这个只过了5/7的测试用例 放弃 顺序超时 直接二分

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        return (num ** 0.5) ** 2 == num

举一反三
和sqrt差不多
思路就是让右坐标作为num的完全平方数 如果num符合题目要求的话,则找到的right+1 的平方 应该与num相等
借助了sqrt寻找一个数的完全平方数的思路 又加了最后一步罢了

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        left, right = 0, num - 1
        while left <= right:
            middle = (left + right) // 2
            if middle ** 2 < num:
                left = middle +1
            else:
                right = middle - 1
        return (right+1)**2 == num

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5690731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存