Next Greater Numerically Balanced Number LeetCode solution in Java

1
class Solution {
2
public int nextBeautifulNumber(int n) {
3

4
while (true) {
5
n++;
6
int num = n; // test this number
7
int[] freq = new int[10]; // 0 to 9
8

9
while (num > 0) { // calculate freq of each digit in the num
10
int rem = num % 10; // this is remainder
11
num = num / 10; // this is quotient
12
freq[rem] = freq[rem] + 1; // increase its frequency
13
if (freq[rem] > rem) break;
14
}
15

16
boolean ans = true;
17

18
for (int i = 0; i < 10; i++) { // check frequency of each digit
19
if (freq[i] != i && freq[i] != 0) {
20
ans = false;
21
break;
22
}
23
}
24

25
if (ans == true) {
26
return n;
27
}
28
}
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0