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

news/2024/11/30 20:33:23/

出现最频繁的偶数元素

题目

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

示例 1:

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

分析

我们可以通过merge函数来只存储偶数,如果相应的偶数key存在,则通过Integer::sum起到一个旧值加新值(新值为1)更新value值。之后就是遍历map集合找到最频繁的偶数若有次数相同返回最小的那个。
merge() 方法的语法为:
hashmap.merge(key, value, remappingFunction)
注:hashmap 是 HashMap 类的一个对象。
参数说明:
key - 键
value - 值
remappingFunction - 重新映射函数,用于重新计算值
返回值
如果 key 对应的 value 没有,则返回该 value 值,如果有,则返回通过 remappingFunction 重新计算后的值。

测试代码1


import java.util.HashMap;
import java.util.Map;public class frequent_even {public static void main(String[] args) {int nums[] = {0,1,2,2,4,4,1};Map<Integer,Integer> map= new HashMap<>();for(int a:nums){if(a%2==0){//   如果 key 对应的 value 不存在,则返回该 value 值,如果存在,//   则返回通过 remappingFunction 重新计算后的值。map.merge(a,1,Integer::sum);}}int ans=-1,max=-1;//此时map集合中的key全是偶数//遍历寻找最频繁的元素,若有次数相同返回最小的。for(Map.Entry<Integer,Integer>entry:map.entrySet()){int k= entry.getKey(), v=entry.getValue();if(v>max||(ans>k&&max<=v)){ans=k;max=v;}}System.out.println(ans);}
}

测试代码2(leeetcode运行)

class Solution {public int mostFrequentEven(int[] nums) {Map<Integer,Integer> map= new HashMap<>();for(int a:nums){if(a%2==0){//   如果 key 对应的 value 不存在,则返回该 value 值,如果存在,//   则返旧值+1(1为新值)map.merge(a,1,Integer::sum);}}int ans=-1,max=-1;//此时map集合中的key全是偶数//遍历寻找最频繁的元素,若有次数相同返回最小的。for(Map.Entry<Integer,Integer>entry:map.entrySet()){int k= entry.getKey(), v=entry.getValue();if(v>max||(ans>k&&max<=v)){ans=k;max=v;}}return ans;}
}

http://www.ppmy.cn/news/46531.html

相关文章

MySQL总结(一)

MySQL 文章目录 MySQLMySQL的安装MySQL组成架构连接池软件层引擎层储存层 库的操作创建库修改数据库删除数据库备份数据库还原数据库查看链接情况 表操作创建表查看表结构修改表结构添加字段修改字段类型长度更改表名修改属性删除表 数据类型表的约束空属性&#xff08;not nul…

常见网络故障排错思路

常见网络故障排错思路 OSPF排错思路总结&#xff1a; 1.检查设备之间的IP地址是否互通 2.检查设备是否可以发送ospf 报文 3.检查设备是否可以接收ospf 报文 4.检查设备之间的ospf 报文的关键参数 router-id : 不能相同区域号 &#xff1a;必须相同特殊标记位 &#xff1a;必…

OpUtils网络端口扫描

网络端口扫描程序使 IT 管理员能够密切监视端口&#xff0c;这些端口是网络通信的端点。网络端口支持不同实体之间的数据传输&#xff0c;并支持运行各种服务或应用程序。在日常工作中&#xff0c;网络管理员的任务是扫描和监控数百个交换机端口。网络端口扫描程序工具通过帮助…

学了半个月js 感觉一点都不会 ,怎么办?

前言 结合你的提问的具体情况&#xff0c;我想说如果你不是天才&#xff0c;那仅仅只靠半个月的学习就想掌握js那是绝无可能的&#xff0c;至于你说的感觉一点都不会在我看来是夸大了&#xff0c;极大可能是因为你没有去整合回顾知识&#xff0c;脑里的知识点相当的混乱&#…

摄影知识整理

目录 焦距 焦距分类 对焦 相机的MF与AF 自动对焦操作 自动对焦方式 镜头防抖 防抖模式 景深 景深的作用 影响景深的因素 景深预览 摄影三大元素 光圈 光圈的作用 光圈与景深的关系 感光度&#xff08;ISO) 注意 感光度的作用 快门 B门与T门 快门速度 闪…

Adobe有哪些软件?

Adobe是一家知名的软件公司&#xff0c;其产品广泛应用于图像处理、视频制作、网页设计等领域。以下是Adobe公司旗下的一些主要软件&#xff1a; Photoshop&#xff1a;图像处理软件&#xff0c;用于编辑和处理照片、图像等。Illustrator&#xff1a;矢量图形编辑软件&#xf…

危中蕴机:Oi! Network展现出的勇气和决心

众多社交媒体应用平台出现用户大量控诉—项目官方处理&#xff0c;用户逐渐冷静——二次信任建立&#xff0c;用户支持力度增强&#xff1a;一段魔幻情节就发生在了Oi! Network上。 本文将对以上情节将从四个方面进行分解&#xff1a;Oi! Network是什么&#xff1f;—Oi! Netw…

BP神经网络和RBF神经网络的区别

本站原创文章&#xff0c;转载请说明来自《老饼讲解-BP神经网络》 bp.bbbdata.com 有些同学只学过BP神经网络&#xff0c;想了解RBF神经网络 或者只学过RBF神经网络&#xff0c;想了解BP神经网络 那么本文就非常适合这些同学阅读&#xff0c;帮助大家快速将相关知识迁移到BP/RB…