当前位置:   article > 正文

华为面试手撕代码真题【数组元素TOP1】

数组元素top1

查找一个数组中出现最多次数的值,如果存在相同的数量按大的值输出。

        稍有点代码经验的同学肯定是顺手拈来了,比较简单的一个题,统计数字出现次数,用一个hashmap就行了。但是这个题有很多的解法,如果能给出多种的优秀解法,相信也能让面试官眼前一亮。

解法1:利用hashmap统计数字出现次数

  1. class Main {
  2. public static void top1 (int[] array)
  3. {
  4. // map的key存放数组中的数字,value存放该数字出现的次数
  5. HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
  6. for(int i = 0; i < array.length; i++)
  7. {
  8. if(map.containsKey(array[i]))
  9. {
  10. int formerValue = map.get(array[i]);
  11. map.put(array[i], formerValue + 1);
  12. }
  13. else
  14. {
  15. map.put(array[i], 1);
  16. }
  17. }
  18. int maxCount = 0;
  19. int maxNumber = 0;
  20. for(Map.Entry<Integer, Integer> entry : map.entrySet())
  21. {
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/224110
推荐阅读
相关标签
  

闽ICP备14008679号