leedcode-3 的幂

自己写的,耗时很长

复制代码
class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        # 如果n为负数,则不是3的幂
        if n < 0:
            return False
        
        # 如果n为1,则是3的幂
        if n == 1:
            return True
        
        # 如果n为0,则不是3的幂
        if n == 0:
            return False

        # 当n大于1时,不断除以3直到n为1,如果最终n等于1,则是3的幂,否则不是
        while n > 1:
            n = n / 3
            print(n)  # 打印每一步的结果,方便调试
            if n == 1:
                return True
        
        return False  # 如果循环结束仍然没有找到n等于1的情况,则不是3的幂
复制代码

 gpt优化:

复制代码
class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        # 如果n为0或负数,直接返回False
        while n and n % 3 == 0:
            # 如果n不是0且能被3整除,则将n除以3
            n = n // 3
        
        # 循环结束后,如果n等于1,说明原始输入n是3的幂,否则不是
        return n == 1
复制代码

 

posted @   Junior_bond  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示