枚举 LeetCode2048. 下一个更大的数值平衡数
2023-12-13 04:00:01
如果整数??x
?满足:对于每个数位?d
?,这个数位?恰好?在?x
?中出现?d
?次。那么整数?x
?就是一个?数值平衡数?。
给你一个整数?n
?,请你返回?严格大于?n
?的?最小数值平衡数?。
如果n的位数是k,n它的下一个大的平衡数一定不会超过 k+1个k+1。
直接遍历之后判断即可。
class Solution {
public:
int nextBeautifulNumber(int n) {
int m=n;
int cnt=0;
while(m){
m/=10; cnt++;
}
vector<int>Bnum(9);
Bnum[0]=0;Bnum[1]=1;Bnum[2]=22;Bnum[3]=333;
Bnum[4]=4444;Bnum[5]=55555;Bnum[6]=666666;Bnum[7]=7777777;Bnum[8]=88888888;
int max_n=Bnum[cnt+1];
int num_cnt[10];
cout<<n<<" "<<max_n;
for(int i=n+1;i<=max_n;i++){
m=i;
memset(num_cnt,0,sizeof(num_cnt));
while(m){
num_cnt[m%10]++;
m/=10;
}
int flag=true;
for(int j=0;j<=9;j++){
if(num_cnt[j]>=1&&num_cnt[j]!=j){
flag=false;
break;
}
}
if(flag)return i;
}
return 0;
}
};
文章来源:https://blog.csdn.net/m0_52043808/article/details/134892789
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!