解题思路,找出已给数组a中的最大值,根据得到的最大值建立一个新的数组b,新数组b的index索引代表a中数值,b中的数值即为出现的次数。
class Untitled {
public static void main(String[] args) {
int[] a = {1,3,4,4,4,6,8,8,8,9,10,10};
int[] elements = new int[getBiggestNumber(a)];
for(int i = 0; i < a.length; i ++) {
elements[a[i]] ++;
}
for(int i = 0; i < elements.length; i ++) {
if(elements[i] != 0) {
System.out.println(i + " 出现了 " + elements[i] + " 次");
}
}
}
public static int getBiggestNumber(int[] array) {
int max = 0;
for(int i = 0; i < array.length - 1; i ++) {
if(array[i] > max) {
max = array[i];
}
}
return max + 1;
}
}
输出
1 出现了 1 次
3 出现了 1 次
4 出现了 3 次
6 出现了 1 次
8 出现了 3 次
9 出现了 1 次
10 出现了 2 次