重新排列数字中的每位,得到最大的数字
例如:
1234 -》 4321
1230 -》 3210
1122 -》 2211
想法就是对每位重新排序,从大到小输出,因为每位的可能性只有从0-9,10种可能,所以可以使用桶排序
public static int reRange(int num) { int ret = 0; // 每一位数字 int[] s = new int[10]; while (num > 0) { s[num%10]++; num = num / 10; } for (int i=9; i> -1; i--) { while (s[i] > 0) { ret = ret * 10 + i; s[i]--; } } return ret; }