2023-12-09每日一题
一、题目编号
2048. 下一个更大的数值平衡数
二、题目链接
点击跳转到题目位置
三、题目描述
如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。
给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。
示例 1:
示例 2:
示例 3:
提示:
- 0 <= n <= 106
四、解题代码
class Solution {
public:bool isBalance(int x) {vector<int> count(10);while (x > 0) {count[x % 10]++;x /= 10;}for (int d = 0; d < 10; ++d) {if (count[d] > 0 && count[d] != d) {return false;}}return true;}int nextBeautifulNumber(int n) {for (int i = n + 1; i <= 1224444; ++i) {if (isBalance(i)) {return i;}}return -1;}
};
五、解题思路
(1) 枚举