当前位置: 首页 > news >正文

Leetcode_1780.判断一个数字是否可以表示成三的幂的和

在这里插入图片描述
此题第一眼是不是想到了动态规划??Nonono,其实只需要一个很简单的进制转换的思想,由于二进制用的比较多,以下示例基于二进制:
所有的非负整数都可以表示为不同的2的幂次方的和。这是二进制系统的基本性质。
例如:12

二进制为:1 1 0 0

此时将 12 除以 2 得到 6

二进制为:0 1 1 0
可以看到,除以2 之后二进制的向前挪动了一位,基于此性质,回到题目中

题目中为 3 的次幂相加,所以将其转为 3 进制
12
三进制为:0 1 1 0
我们要做的就是每位数都为 0 或者 1 ,为什么呢?

例如21
三进制:2 1 0

在题目要求中 3次幂之前是没有系数的,所以不能让其为 2 ,为 1 和 0的话可以省略这个系数或者直接跳过这一次幂

回到 12 将其不断除以 3 ,三进制为不断向前,判断每一位是否为 2 。

ac代码;

class Solution {
public:bool checkPowersOfThree(int n) {while(n){if(n%3==2){return false;}n/=3;}return true;}
};
http://www.dtcms.com/a/331499.html

相关文章:

  • UE5 C++ 删除文件
  • BotCash:GPT-5发布观察 工程优化的进步,还是技术突破的瓶颈?
  • Spring Boot + Redis Cluster 测试
  • 回流(Reflow)与重绘(Repaint):浏览器渲染性能优化核心
  • 演员念真主演《镇恶追凶》辽宁杀青
  • 数字电路上的通讯速度是越快越好还是越慢越好?
  • 【二分图】染色问题
  • 企业智脑UMI AIGC SaaS:解锁AI时代全场景生产力,中小微企业转型利器
  • Linux学习-多任务(进程)
  • **隐私沙盒:发散创新之光**随着互联网技术的飞速发展,数据安全和隐私保护逐渐成为人们关注的焦点。隐私沙盒作为一种新兴
  • Ping32 与绿盾再对比:Ping32 以创新与适配领跑数据安全​
  • 机器学习内容总结
  • 机器学习-基础入门:从概念到核心方法论
  • MySQL进阶——优化、日志
  • 第4节课:多模态大模型的核心能力(多模态大模型基础教程)
  • 疏老师-python训练营-Day45Tensorboard使用介绍
  • StarRocks优化统计分析
  • 好用的开源数据可视化设计工具LIGHT CHASER
  • Java List 集合详解(ArrayList、LinkedList、Vector)
  • pyecharts可视化图表-pie:从入门到精通
  • 适用工业分选和工业应用的高光谱相机有哪些?什么品牌比较好?
  • 这个就是哈希冲突
  • AI出题人给出的Java后端面经(十四)(日更)
  • 智慧养老解决方案:破解“最后一公里”服务难题
  • 【98页PPT】智慧方案某著名企业汽配行业ERP整体解决方案(附下载方式)
  • BGP笔记及实验
  • 网络层协议——IP
  • 2025年机器视觉与信号处理国际会议(MVSP 2025)
  • 72小时到24小时:台风“杨柳”过后,有鹿机器人如何为园区按下“加速键”?
  • SpringBoot 实现在线查看内存对象拓扑图 —— 给 JVM 装上“透视眼”