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

相关推荐
愚者Pro3 小时前
Flutter Widget组件学习(专为 Uniapp 转 Flutter 定制)
vue.js·学习·flutter·uni-app
yzx9910135 小时前
从焦虑到掌控:关于学习AI工具的深度思考
人工智能·学习
Bechamz5 小时前
大数据开发学习Day42
大数据·学习
zhangrelay5 小时前
ROS 2 Lyrical Luth启程-Ubuntu26.04-
linux·笔记·学习·ubuntu
锦鲤52145 小时前
机器学习学习笔记
笔记·学习·机器学习
minglie16 小时前
utf8转utf16
学习
三品吉他手会点灯6 小时前
STM32F103 学习笔记-22-DMA(第1节)-DMA功能框图讲解和DMA初始化结构体讲解
笔记·stm32·单片机·嵌入式硬件·学习
咸甜适中6 小时前
rust语言学习笔记Trait(十一)Deref、DerefMut(解引用)
笔记·学习·rust
AI小技巧7 小时前
商务英语在线学习哪家好?主流平台深度测评与避坑指南
学习
共享家95277 小时前
Langchain的学习(三)
学习·langchain