求助:有一个已知数列,求这个数列中最多有几个相同的数字的方法
已知一数列 我想计算这其中最多有几个相同的数字
求高手给与逻辑上的指导 万分感谢~~~
[解决办法]
重新构造一个数列
定义一个统计变量,如count
取出原数列中的一个数
如果新数列中不存在
那么把它放入新数列
否则
count++
[解决办法]
先排序
然后一个个数读下去
要是一样就把一个计数器加一
要是不一样就把计数器重新置为一
这个期间把最大计数器保存下来
[解决办法]
int[] nums = {1,2,3,4,5,3,3,2,2,3,4,5,3,4,1,5,3,2,4};
Map <Integer, Integer> map = new TreeMap <Integer, Integer> ();
for(int num : nums) {
int count = map.get(num) == null ? 0 : map.get(num);
map.put(num, ++count);
}
for(Map.Entry <Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " ==> " + entry.getValue());
}