自己写的,耗时很长
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
标签:False,int,self,leedcode,如果,return From: https://www.cnblogs.com/yyyjw/p/18110373