62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test {
public static void main(String[] args) {
char[] arr = new char[] { 'a', 'a', 'c', 'a', 'b', 'b' };
reShortArr(arr);
for(char i : arr){
System.out.print(i + "\t");
}
}
public static void reShortArr(char[] arr){
int[] arrNum = initArr(arr);
int index = 0;
while(arrNum[26] > 0){
for(int i = 0; i < arrNum.length - 1; i++){
if(arrNum[i] > 0){
arr[index++] = (char)(i + 97);
arrNum[i]--;
arrNum[26]--;
}
}
}
}
private static int[] initArr(char[] ch)
{
int[] arrNum = new int[27];
for(int i = 0; i < ch.length; i++){
arrNum[ch[i] - 97]++;
}
arrNum[26] = ch.length;
return arrNum;
}
}