日拱一卒(13)——leetcode学习记录:3的幂

一、题目

判断一个整数n是否是3的幂次

二、思路

  1. 循环法。n如果能被3整除,则继续整除,否则返回False。

  2. 数学法。不同于2的幂次,无法使用按位与进行判断。使用log计算也存在精度问题,无法实现。这里可以使用3^19的因数进行判断。

三、题解

  1. 循环法

    class Solution:
    def isPowerOfThree(self, n: int) -> bool:
    while n > 2:
    if n%3 != 0:
    return False
    n //= 3
    return n == 1

  2. 数学法

class Solution:

def isPowerOfThree(self, n: int) -> bool:

return n > 0 and (3**19)%n == 0

相关推荐
AI云海4 小时前
利用好手机这个工具-碎片化学习
学习
β添砖java6 小时前
2025最新快速构建企业级虚拟专用网络环境学习笔记
笔记·学习
WZF-Sang10 小时前
网络基础——2
服务器·网络·c++·学习·网络编程·php
心中有国也有家12 小时前
E-Brufen 技术选型全景:Flutter + 鸿蒙 + Hive CE
hive·hadoop·学习·flutter·华为·harmonyos
没头脑的男大12 小时前
CMake学习教学
linux·c++·学习
New农民工12 小时前
射频芯片学习-ExpressLRS 对频流程分析
学习
Tom@敲代码13 小时前
js学习笔记-01
javascript·笔记·学习
辞旧 lekkk13 小时前
【Qt】 系统相关:事件与定时器
开发语言·qt·学习·萌新
zzzll111114 小时前
如何学习AI Agent?
java·人工智能·学习·程序员·大模型