(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
}
相关推荐
多多*7 小时前
牛客周赛 Round 114 Java题解
算法
程序猿阿越7 小时前
Kafka源码(七)事务消息
java·后端·源码阅读
m0_748248027 小时前
C++20 协程:在 AI 推理引擎中的深度应用
java·c++·人工智能·c++20
笑我归无处7 小时前
强引用、软引用、弱引用、虚引用详解
java·开发语言·jvm
02苏_7 小时前
秋招Java面
java·开发语言
他们叫我一代大侠7 小时前
Leetcode :模拟足球赛小组各种比分的出线状况
算法·leetcode·职场和发展
Nebula_g7 小时前
C语言应用实例:硕鼠游戏,田忌赛马,搬桌子,活动选择(贪心算法)
c语言·开发语言·学习·算法·游戏·贪心算法·初学者
爱吃甜品的糯米团子8 小时前
详解 JavaScript 内置对象与包装类型:方法、案例与实战
java·开发语言·javascript
snakecy8 小时前
信息系统项目管理师--论文case
大数据·学习·职场和发展·区块链
QT 小鲜肉8 小时前
【Git、GitHub、Gitee】按功能分类汇总Git常用命令详解(超详细)
c语言·网络·c++·git·qt·gitee·github