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

相关推荐
s11show_16325 分钟前
ruoyi-app学习路线
学习
安全系统学习31 分钟前
自学网络安全学习的误区和陷阱
数据库·学习·安全·web安全·网络安全·安全架构
领创工作室1 小时前
Linux基础指令-Linux学习笔记(1)
linux·笔记·学习
清钟沁桐1 小时前
mlir 编译器学习笔记之五 -- 开发避坑
笔记·学习·mlir
仰望—星空1 小时前
MiniEngine学习笔记 : RootSignature
windows·笔记·学习
Mark_Hide2 小时前
学习笔记5
笔记·学习
Larry_Yanan3 小时前
QML学习笔记(五十一)QML与C++交互:数据转换——基本数据类型
c++·笔记·学习
化作星辰3 小时前
深度学习_原理和进阶_PyTorch入门(2)后续语法2
pytorch·深度学习·学习
小年糕是糕手4 小时前
【数据结构】常见的排序算法 -- 插入排序
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
我先去打把游戏先4 小时前
ESP32C3开发指南(基于IDF):console控制台命令行交互功能
笔记·嵌入式硬件·mcu·物联网·学习·esp32·交互