出现最频繁的偶数元素【LC2404】
给你一个整数数组
nums
,返回出现最频繁的偶数元素。如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回
-1
。
- 思路
使用哈希表记录每个偶数出现的次数,如果出现更大或者相同的出现次数时,更新结果
- 实现
class Solution { public int mostFrequentEven(int[] nums) { Map<Integer,Integer> counts = new HashMap<>(); int res = -1, maxFre = 0; for (int num : nums){ if ((num & 1) == 0){ counts.put(num, counts.getOrDefault(num, 0) + 1); if (counts.get(num) > maxFre){ res = num; maxFre = counts.get(num); }else if (counts.get(num) == maxFre){ res = Math.min(num, res); } } } return res; } }