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

相关推荐
Lynnxiaowen3 小时前
今天我们开始学习腾讯云产品介绍及功能概述与应用场景
学习·云计算·腾讯云
程序猿零零漆3 小时前
Spring之旅 - 记录学习 Spring 框架的过程和经验(五)Spring的后处理器BeanFactoryPostProcessor
java·学习·spring
AI360labs_atyun3 小时前
OpenAI应用商店,试试用它写年终PPT!
人工智能·科技·学习·ai·chatgpt·powerpoint
@zulnger3 小时前
网络协议学习笔记_下
笔记·网络协议·学习
islandzzzz3 小时前
SQL学习应用工作场景(2)--执行优先级+语法顺序+保留2位小数
数据库·sql·学习
代码游侠3 小时前
学习笔记——数据封包拆包与协议
linux·运维·开发语言·网络·笔记·学习
程序猿零零漆3 小时前
Spring之旅 - 记录学习 Spring 框架的过程和经验(四)Spring的get方法、Spring配置非定义的Bean、Bean实例化的基本流程
java·学习·spring
Nan_Shu_6143 小时前
学习:TypeScript (1)
前端·javascript·学习·typescript
崇山峻岭之间3 小时前
Matlab学习记录13
开发语言·学习·matlab
Asus.Blogs4 小时前
学习笔记:CrewAI vs. Dify
笔记·学习