题目描述:
给你一个整数数组 nums
,返回出现最频繁的偶数元素。
如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1
。
解题思路:
直接扫描数组
代码:
class Solution {
public:
int mostFrequentEven(vector<int>& nums) {
sort(nums.begin(),nums.end());
bool temp = false ;
int ans = -1;
int count = 0;
int maxCount = 0;
for(int i = 0 ; i < nums.size() ; i++)
{
if(i==0||temp==false)
{
if(nums[i] % 2 == 0)
{
count++;
temp = true;
}
}
else
{
if(nums[i]%2==0 && nums[i] == nums[i-1])
{
count++;
}
else if(nums[i]%2==0)
{
count=1;
}
}
if(count>maxCount){
maxCount = count;
ans=nums[i];
}
}
return ans;
}
};