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

相关推荐
yangyanping201089 小时前
Go语言学习之对象关系映射GORM
jvm·学习·golang
网络工程小王9 小时前
【Transformer架构详解】(学习笔记)
笔记·学习
倒酒小生11 小时前
今日算法学习小结
学习
醇氧12 小时前
【学习】【说人话版】子网划分
学习
不灭锦鲤13 小时前
网络安全学习(面试)
学习·安全·web安全
世人万千丶14 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本五子棋游戏应用
学习·flutter·游戏·华为·harmonyos·鸿蒙
Aktx20FNz14 小时前
一文学习 Spring AOP 源码全过程
java·学习·spring
Jay Kay14 小时前
生成式推荐模型学习记录part1
学习
正经教主16 小时前
【docker基础】0、系统学习docker之总计划
学习·docker·容器
不知名的老吴17 小时前
计算机基础第一阶段:核心基础学习
学习