加载中...
2048-下一个更大的数值平衡数(Next Greater Numerically Balanced Number)
发表于:2021-12-03 | 分类: 中等
字数统计: 1.5k | 阅读时长: 8分钟 | 阅读量:

原文链接: 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%

提交历史

提交时间 提交结果 执行时间 内存消耗 语言
上一篇:
2047-句子中的有效单词数(Number of Valid Words in a Sentence)
下一篇:
2049-统计最高分的节点数目(Count Nodes With the Highest Score)
本文目录
本文目录