(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
}
相关推荐
我在北国不背锅23 分钟前
基于Java的Markdown转Word工具(标题、段落、表格、Echarts图等)
java·word·echarts·markdown
pengzhuofan37 分钟前
Java设计模式-建造者模式
java·设计模式·建造者模式
独行soc37 分钟前
2025年大模型安全岗的面试汇总(题目+回答)
android·人工智能·安全·面试·职场和发展·渗透测试
月殇_木言1 小时前
算法基础 第3章 数据结构
数据结构·算法
夕四丶1 小时前
【java实现一个接口多个实现类通用策略模式】
java·策略模式
找不到、了1 小时前
Java设计模式之《策略模式》
java·设计模式·策略模式
刘火锅1 小时前
设计模式-策略模式 Java
java·设计模式·策略模式
John_ToDebug2 小时前
JS 与 C++ 双向通信实战:基于 WebHostViewListener 的消息处理机制
前端·c++·chrome
亮亮爱刷题2 小时前
算法提升之树上问题-(LCA)
数据结构·算法·leetcode·深度优先
papership2 小时前
【入门级-C++程序设计:11、指针与引用-引 用】
c语言·开发语言·c++·青少年编程