java.lang.Object
g2001_2100.s2048_next_greater_numerically_balanced_number.Solution

public class Solution extends java.lang.Object
2048 - Next Greater Numerically Balanced Number.

Medium

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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • nextBeautifulNumber

      public int nextBeautifulNumber(int n)