一个java编程题,怎么求出数组中重复数字的出现次数,并按次数从大到下排序

如题所述

前提 有一个数组 :int[] a = {1,2,3,4,5………………,3,10,1};
先要知道数组的最大最小值。
比如最大10,最小1;

int temp = new int[11] //比最大值大1,保证最后一个坐标是最大值

for(int i=0;i<数组元素个数;i++)
temp[a[i]]++
运行完了之后你对temp数组排序一下就行了,排序不用我说了吧
排序的时候要建立个数组记录排序后的数字以前的下标,下标就是那个重复出现的数字

这是最简单的方案,但是如果你最大值最小值较大,就不适用了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-02
排序的话简单,Arrays的sort方法可以结局
出现的次数的话,推荐用Map来做
List list = Arrays.asList("aa,xx,ss,xx,ss,e,w,a,aa".split(","));
Map map = new HashMap();

for (String s : list) {
Integer i = map.get(s);

if(i == null)
map.put(s, 1);
else
map.put(s, ++i);

}
System.out.println(map);本回答被网友采纳
第2个回答  2013-12-02
使用三个变量存储在比较
第3个回答  2013-12-02
循环读取,循环比较!
相似回答