原文链接: https://leetcode-cn.com/problems/next-greater-numerically-balanced-number
英文原文
An integer x
is numerically balanced if for every digit d
in the number x
, there are exactly d
occurrences of that digit in x
.
Given an integer n
, return the smallest numerically balanced number strictly greater than n
.
Example 1:
Input: n = 1 Output: 22 Explanation: 22 is numerically balanced since: - The digit 2 occurs 2 times. It is also the smallest numerically balanced number strictly greater than 1.
Example 2:
Input: n = 1000 Output: 1333 Explanation: 1333 is numerically balanced since: - The digit 1 occurs 1 time. - The digit 3 occurs 3 times. It is also the smallest numerically balanced number strictly greater than 1000. Note that 1022 cannot be the answer because 0 appeared more than 0 times.
Example 3:
Input: n = 3000 Output: 3133 Explanation: 3133 is numerically balanced since: - The digit 1 occurs 1 time. - The digit 3 occurs 3 times. It is also the smallest numerically balanced number strictly greater than 3000.
Constraints:
0 <= n <= 106
中文题目
如果整数 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 <= 106
通过代码
高赞题解
class Solution {
public int nextBeautifulNumber(int n) {
if (n<1) {
return 1;
}else if (n<22) {
return 22;
} else if (n<122) {
return 122;
}else if(n<212){
return 212;
}else if(n<221){
return 221;
}else if(n<333){
return 333;
}else if(n<1333){
return 1333;
}else if(n<3133){
return 3133;
}else if(n<3313){
return 3313;
}else if(n<3331){
return 3331;
}else if(n<4444){
return 4444;
}else if(n<14444){
return 14444;
}else if(n<22333){
return 22333;
}else if(n<23233){
return 23233;
}else if(n<23323){
return 23323;
}else if(n<23332){
return 23332;
}else if(n<32233){
return 32233;
}else if(n<32323){
return 32323;
}else if(n<32332){
return 32332;
}else if(n<33223){
return 33223;
}else if(n<33232){
return 33232;
}else if(n<33322){
return 33322;
}else if(n<41444){
return 41444;
}else if(n<44144){
return 44144;
}else if(n<44414){
return 44414;
}else if(n<44441){
return 44441;
}else if(n<55555){
return 55555;
}else if(n<122333){
return 122333;
}else if(n<123233){
return 123233;
}else if(n<123323){
return 123323;
}else if(n<123332){
return 123332;
}else if(n<132233){
return 132233;
}else if(n<132323){
return 132323;
}else if(n<132332){
return 132332;
}else if(n<133223){
return 133223;
}else if(n<133232){
return 133232;
}else if(n<133322){
return 133322;
}else if(n<155555){
return 155555;
}else if(n<212333){
return 212333;
}else if(n<213233){
return 213233;
}else if(n<213323){
return 213323;
}else if(n<213332){
return 213332;
}else if(n<221333){
return 221333;
}else if(n<223133){
return 223133;
}else if(n<223313){
return 223313;
}else if(n<223331){
return 223331;
}else if(n<224444){
return 224444;
}else if(n<231233){
return 231233;
}else if(n<231323){
return 231323;
}else if(n<231332){
return 231332;
}else if(n<232133){
return 232133;
}else if(n<232313){
return 232313;
}else if(n<232331){
return 232331;
}else if(n<233123){
return 233123;
}else if(n<233132){
return 233132;
}else if(n<233213){
return 233213;
}else if(n<233231){
return 233231;
}else if(n<233312){
return 233312;
}else if(n<233321){
return 233321;
}else if(n<242444){
return 242444;
}else if(n<244244){
return 244244;
}else if(n<244424){
return 244424;
}else if(n<244442){
return 244442;
}else if(n<312233){
return 312233;
}else if(n<312323){
return 312323;
}else if(n<312332){
return 312332;
}else if(n<313223){
return 313223;
}else if(n<313232){
return 313232;
}else if(n<313322){
return 313322;
}else if(n<321233){
return 321233;
}else if(n<321323){
return 321323;
}else if(n<321332){
return 321332;
}else if(n<322133){
return 322133;
}else if(n<322313){
return 322313;
}else if(n<322331){
return 322331;
}else if(n<323123){
return 323123;
}else if(n<323132){
return 323132;
}else if(n<323213){
return 323213;
}else if(n<323231){
return 323231;
}else if(n<323312){
return 323312;
}else if(n<323321){
return 323321;
}else if(n<331223){
return 331223;
}else if(n<331232){
return 331232;
}else if(n<331322){
return 331322;
}else if(n<332123){
return 332123;
}else if(n<332132){
return 332132;
}else if(n<332213){
return 332213;
}else if(n<332231){
return 332231;
}else if(n<332312){
return 332312;
}else if(n<332321){
return 332321;
}else if(n<333122){
return 333122;
}else if(n<333212){
return 333212;
}else if(n<333221){
return 333221;
}else if(n<422444){
return 422444;
}else if(n<424244){
return 424244;
}else if(n<424424){
return 424424;
}else if(n<424442){
return 424442;
}else if(n<442244){
return 442244;
}else if(n<442424){
return 442424;
}else if(n<442442){
return 442442;
}else if(n<444224){
return 444224;
}else if(n<444242){
return 444242;
}else if(n<444422){
return 444422;
}else if(n<515555){
return 515555;
}else if(n<551555){
return 551555;
}else if(n<555155){
return 555155;
}else if(n<555515){
return 555515;
}else if(n<555551){
return 555551;
}else if(n<666666){
return 666666;
}
return 1224444;
}
}
统计信息
通过次数 | 提交次数 | AC比率 |
---|---|---|
3963 | 9610 | 41.2% |
提交历史
提交时间 | 提交结果 | 执行时间 | 内存消耗 | 语言 |
---|