2578. Split With Minimum Sum

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public int splitNum(int num) {
int[] countMap = new int[10];
while (num > 0) {
int x = num % 10;
countMap[x]++;
num /= 10;
}

int[] pair = new int[2];
int p = 0;
for (int x = 0; x < countMap.length; x++) {
while (countMap[x] > 0) {
pair[p] = pair[p] * 10 + x;
p = 1 - p;
countMap[x]--;
}
}

return pair[0] + pair[1];
}
}

References

2578. Split With Minimum Sum