(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
}
相关推荐
纪元A梦17 分钟前
贪心算法应用:数字孪生同步问题详解
java·算法·贪心算法
曼巴UE518 分钟前
UE5.3 C++ 接口初步使用
开发语言·jvm·c++
纪元A梦18 分钟前
贪心算法应用:食品生产线排序问题详解
算法·贪心算法
泛联新安25 分钟前
如何根据项目需求选择合适的软件测试工具?iUnit智能单元测试平台提供专业化解决方案
c++·测试工具·单元测试
Micrle_00728 分钟前
java分布式场景怎么实现一个高效的 读-写锁
java·分布式
曙曙学编程30 分钟前
stm32——NVIC,EXIT
c语言·c++·stm32·单片机·嵌入式硬件
海上生明月丿33 分钟前
微服务01
java·spring boot·微服务
liulilittle38 分钟前
UNIX/macOS路由表查询原理与实现
服务器·开发语言·c++·macos·unix·编程语言
信奥卷王1 小时前
2024年9月GESPC++三级真题解析(含视频)
算法