日拱一卒(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

相关推荐
狂奔蜗牛飙车几秒前
Python学习之路-Python3 迭代器与生成器学习详解
开发语言·python·学习·#python学习笔记·python迭代器生成器
云小逸2 分钟前
【Nmap 源码学习】深度解析:main.cc 入口函数详解
网络·windows·学习·nmap
醇氧4 分钟前
【Linux】centos 防火墙学习
linux·学习·centos
~光~~6 分钟前
【嵌入式linux学习】06_中断子系统
linux·单片机·学习
蒸蒸yyyyzwd7 分钟前
DDIA学习笔记
笔记·学习
LYS_06187 分钟前
寒假学习(14)(HAL库5)
java·linux·学习
2501_901147839 分钟前
学习笔记:基于摩尔投票法的高性能实现与工程实践
笔记·学习·算法·性能优化
神一样的老师9 分钟前
【ELF2学习开发板】Linux 命令行读取 MPU6050 传感器数据(I2C 总线)实战
linux·运维·学习
铁蛋AI编程实战28 分钟前
最新 豆包4.0 实操手册:混合架构部署 + 实时交互 + 动态学习
学习·架构·交互
Titan202431 分钟前
搜索二叉树笔记模拟实现
数据结构·c++·笔记·学习