2404. Most Frequent Even Element

2404. Most Frequent Even Element #

题目 #

  • 给你一个整数数组 nums ,返回出现最频繁的偶数元素。
  • 如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1
  • 1 <= nums.length <= 2000
  • 0 <= nums[i] <= 105

思路 #

模拟 #

代码 #

模拟 #

class Solution {
    public int mostFrequentEven(int[] nums) {
        int ans = Integer.MAX_VALUE;
        Map<Integer, Integer> map = new HashMap<>();
        for (int num: nums) {
            if (num % 2 == 1) continue;
            map.put(num, map.getOrDefault(num, 0) + 1);
            if (map.get(num) > map.getOrDefault(ans, 0)) ans = num;
            else if (map.get(num) == map.get(ans) && num < ans) ans = num;
        }
        return ans == Integer.MAX_VALUE ? -1 : ans;
    }
}