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

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

题目

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

思路

  • 最终返回元素条件如下:
    • 必须是偶数(num % 2 == 0)
    • 出现次数最多
    • 出现次数最多中值最小

解答代码

  • ans代表出现次数
  • resNum表示最终元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public int mostFrequentEven(int[] nums) {
int res[] = new int[100001];
int ans = -1;
int resNum = 100001;
for(int i = 0; i < nums.length; i++){
if(nums[i] % 2 == 0){
res[nums[i]]++;
if(res[nums[i]] > ans){
ans = res[nums[i]];
resNum = nums[i];
}
if(res[nums[i]] == ans){
ans = res[nums[i]];
if(nums[i] < resNum){
resNum = nums[i];
}
}
}
}
if(ans == -1){
return -1;
}
return resNum;
}

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

https://zed-y.github.io/2023/04/13/2404/

作者

Yzdong

发布于

2023-04-13

更新于

2023-04-14

许可协议

评论