Leetcode 2048. 下一个更大的数值平衡数(有点意思,已解决)
如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。
给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。
示例 1:
输入:n = 1 输出:22 解释: 22 是一个数值平衡数,因为: - 数字 2 出现 2 次 这也是严格大于 1 的最小数值平衡数。
示例 2:
输入:n = 1000 输出:1333 解释: 1333 是一个数值平衡数,因为: - 数字 1 出现 1 次。 - 数字 3 出现 3 次。 这也是严格大于 1000 的最小数值平衡数。 注意,1022 不能作为本输入的答案,因为数字 0 的出现次数超过了 0 。
示例 3:
输入:n = 3000 输出:3133 解释: 3133 是一个数值平衡数,因为: - 数字 1 出现 1 次。 - 数字 3 出现 3 次。 这也是严格大于 3000 的最小数值平衡数。
提示:
- 0 <= n <= 10^6
Code:
class Solution { public: int nextBeautifulNumber(int n) { for(int i=n+1;i<=10000000;i++) { string str=to_string(i); int cnt1= count(str.begin(),str.end(),'1'); int cnt2= count(str.begin(),str.end(),'2'); int cnt3= count(str.begin(),str.end(),'3'); int cnt4= count(str.begin(),str.end(),'4'); int cnt5= count(str.begin(),str.end(),'5'); int cnt6= count(str.begin(),str.end(),'6'); // 1000 1333 // 1111 if(cnt1!=1) { cnt1=0; } if(cnt2!=2) { cnt2=0; } if(cnt3!=3) { cnt3=0; } if(cnt4!=4) { cnt4=0; } if(cnt5!=5) { cnt5=0; } if(cnt6!=6) { cnt6=0; } if((cnt1+cnt2+cnt3+cnt4+cnt5+cnt6)==str.length()) { return i; } } return 0; } };
分类:
C/C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)