(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
}
相关推荐
better_liang几秒前
每日Java面试场景题知识点之-RabbitMQ
java·消息队列·rabbitmq·面试题·异步通信·企业级开发·系统解耦
芒克芒克1 分钟前
《Git分支实战:从创建到合并的全流程》
java·git
Chloeis Syntax3 分钟前
MySQL初阶学习日记(5)--- 联合查询
java·笔记·学习·mysql
ArabySide5 分钟前
【Spring Boot】用Spring AOP优雅实现横切逻辑复用
java·spring boot·后端
snow123f5 分钟前
Lambda 表达式怎么用
java·开发语言·线程
梓䈑6 分钟前
【C++】C++11(右值引用和移动语义、可变参数模板 和 包装器)
java·开发语言·c++
好评1247 分钟前
【C++】一篇吃透容器适配器三件套:从stack/queue/priority_queue到deque底层
c++·stl·queue·stack
深海蓝山7 分钟前
WebSocket(java版)服务示例
java·websocket·网络协议
CoovallyAIHub7 分钟前
南京理工大学联手百度、商汤科技等团队推出Artemis:用结构化视觉推理革新多模态感知
深度学习·算法·计算机视觉
Howe~zZ7 分钟前
mybatis 报错解决方案ORA-01795: maximum number of expressions in a list is 1000
java·服务器·前端