Keshawn_lu's Blog

Leetcode 2404. 出现最频繁的偶数元素

字数统计: 225阅读时长: 1 min
2023/04/13 Share

题目简介:

给你一个整数数组 nums ,返回出现最频繁的偶数元素。

如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1

示例 1:

1
2
3
4
5
输入:nums = [0,1,2,2,4,4,1]
输出:2
解释:
数组中的偶数元素为 0、2 和 4 ,在这些元素中,2 和 4 出现次数最多。
返回最小的那个,即返回 2 。

提示:

  • 1 <= nums.length <= 2000
  • 0 <= nums[i] <= 10^5

思路:

利用哈希表存储出现次数,遍历即可,遇到奇数直接continue

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Solution {
public:
int mostFrequentEven(vector<int>& nums) {

unordered_map<int, int> map;

int res = -1;
int fre = 0;
for(auto num : nums){

if(num % 2 == 1)
continue;

map[num]++;
if(map[num] >= fre){

if(map[num] == fre)
res = min(res, num);
else
res = num;

fre = map[num];
}
}

return res;
}
};
CATALOG
  1. 1. 题目简介:
  2. 2. 思路:
  3. 3. 代码如下: