(LeetCode 每日一题) 1780. 判断一个数字是否可以表示成三的幂的和 (数学、三进制数)

题目:1780. 判断一个数字是否可以表示成三的幂的和

思路:数学+三进制数,时间复杂度0(logn)。
因为不能有相同的幂,那么三进制形式,不能出现2

C++版本:

cpp 复制代码
class Solution {
public:
    bool checkPowersOfThree(int n) {
        while(n>0){
            if(n%3==2) return false;
            n/=3;
        }
        return true;
    }
};

JAVA版本:

java 复制代码
class Solution {
    public boolean checkPowersOfThree(int n) {
        while(n>0){
            if(n%3==2) return false;
            n/=3;
        }
        return true;
    }
}

GO版本:

go 复制代码
func checkPowersOfThree(n int) bool {
    for n>0 {
        if n%3==2 {return false}
        n/=3
    }
    return true
}
相关推荐
wangwangmoon_light14 小时前
1.1 LeetCode总结(线性表)_枚举技巧
算法·leetcode·哈希算法
一嘴一个橘子14 小时前
spring-aop 的 基础使用 - 4 - 环绕通知 @Around
java
小毅&Nora15 小时前
【Java线程安全实战】⑨ CompletableFuture的高级用法:从基础到高阶,结合虚拟线程
java·线程安全·虚拟线程
码农小韩15 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
冰冰菜的扣jio15 小时前
Redis缓存中三大问题——穿透、击穿、雪崩
java·redis·缓存
mit6.82415 小时前
几何|阻碍链
算法
有一个好名字15 小时前
力扣-小行星碰撞
算法·leetcode·职场和发展
MM_MS15 小时前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
小璐猪头15 小时前
专为 Spring Boot 设计的 Elasticsearch 日志收集 Starter
java
lamentropetion15 小时前
E - Equal Tree Sums CF1656E
算法