赞
踩
查找一个数组中出现最多次数的值,如果存在相同的数量按大的值输出。
稍有点代码经验的同学肯定是顺手拈来了,比较简单的一个题,统计数字出现次数,用一个hashmap就行了。但是这个题有很多的解法,如果能给出多种的优秀解法,相信也能让面试官眼前一亮。
解法1:利用hashmap统计数字出现次数
- class Main {
- public static void top1 (int[] array)
- {
- // map的key存放数组中的数字,value存放该数字出现的次数
- HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
- for(int i = 0; i < array.length; i++)
- {
- if(map.containsKey(array[i]))
- {
- int formerValue = map.get(array[i]);
- map.put(array[i], formerValue + 1);
- }
- else
- {
- map.put(array[i], 1);
- }
- }
-
- int maxCount = 0;
- int maxNumber = 0;
- for(Map.Entry<Integer, Integer> entry : map.entrySet())
- {
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。