力扣刷题169.多数元素
使用hashmap来存储,键表示数组元素,值表示每个数组元素出现的次数。然后对hashMap遍历,得到最多的元素。
class Solution { public int majorityElement(int[] nums) { Map<Integer, Integer> count = countNums(nums); Map.Entry<Integer,Integer> majorityEntry = null; for (Map.Entry<Integer,Integer> integerIntegerEntry :count.entrySet()) { if (majorityEntry == null || integerIntegerEntry.getValue()>majorityEntry.getValue()){ majorityEntry = integerIntegerEntry; } } return majorityEntry.getKey(); } //得到一个map,键为数组元素,值为数组元素出现的次数。 private Map<Integer,Integer> countNums(int[] nums){ Map<Integer, Integer> map = new HashMap<>(); for (int num :nums) { if (!map.containsKey(num)){ map.put(num,1); }else { map.put(num,map.get(num)+1); } } return map; } }
下一篇:
单例模式(饿汉式,dcl懒汉式)