[每日一题]2404.出现最频繁的偶数元素
2404. 出现最频繁的偶数元素 给你一个整数数组 nums
,返回出现最频繁的偶数元素。
如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1
。
输入:nums = [0,1,2,2,4,4,1] 输出:2 解释: 数组中的偶数元素为 0、2 和 4 ,在这些元素中,2 和 4 出现次数最多。 返回最小的那个,即返回 2 。
输入:nums = [4,4,4,9,2,4] 输出:4 解释:4 是出现最频繁的偶数元素。
提示:
1 <= nums.length <= 2000
0 <= nums[i] <= 10 5
Solutions
class Solution {
public int mostFrequentEven(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
int key = -1;
int val = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 == 0) {
if (!map.containsKey(nums[i])) {
map.put(nums[i], 0);
}
map.put(nums[i], map.get(nums[i]) + 1);
if (val < map.get(nums[i])) {
key = nums[i];
val = map.get(nums[i]);
} else if (val == map.get(nums[i])) {
if (nums[i] < key) {
key = nums[i];
}
}
}
}
return key;
}
}
Ideas
- 。