2404. 出现最频繁的偶数元素 - 力扣(LeetCode)


可以通过以下步骤来解决这个问题:
-
遍历数组,统计所有偶数元素的出现频率。
-
找出频率最高的偶数,如果存在多个频率相同的偶数,返回最小的那个。
-
如果数组中没有偶数,返回 -1。
下面是实现代码:
from collections import Counter
def mostFrequentEven(nums):
# 过滤出所有的偶数
even_nums = [num for num in nums if num % 2 == 0]
# 如果没有偶数,返回 -1
if not even_nums:
return -1
# 统计每个偶数的频率
count = Counter(even_nums)
# 找出频率最高的偶数,如果有多个,返回最小的
max_freq = max(count.values())
result = min(num for num, freq in count.items() if freq == max_freq)
return result
示例:
print(mostFrequentEven([1, 2, 2, 4, 4, 4])) # 输出 4
print(mostFrequentEven([1, 3, 5])) # 输出 -1
print(mostFrequentEven([0, 2, 2, 4, 4])) # 输出 2
解释:
-
对于输入
[1, 2, 2, 4, 4, 4],偶数有 2 和 4,其中 4 出现了 3 次,而 2 出现了 2 次。因此,返回 4。 -
对于输入
[1, 3, 5],没有偶数元素,因此返回 -1。 -
对于输入
[0, 2, 2, 4, 4],2 和 4 都出现了两次,但是最小的偶数是 2,所以返回 2。
792

被折叠的 条评论
为什么被折叠?



