博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA算法:在给定的数组中查找出现次数最多的元素(JAVA版本)
阅读量:4041 次
发布时间:2019-05-24

本文共 1309 字,大约阅读时间需要 4 分钟。

JAVA算法:在给定的数组中查找出现次数最多的元素(JAVA版本)

题目要求:在给定的数组中查找出现次数最多的元素,以及其出现的次数。

例如:在数组 { 2, 3, 1, 2, 2, 5, 6, 8, 2, 3, 2, 4, 2 }中,元素2出现的次数最多,一共出现了 6次。


问题分析

对于这个问题,要求的结果是找到出现次数最多的元素,以及其出现的次数。

分析这个问题,我们可以使用一个 HashMap<Integer, Integer>结构的数据类型来存放结果。在HashMap结构中,第一个元素用来存放出现次数最多的元素,第二个元素用来存放该元素出现的次数。

然后遍历HashMap结构即可获得结果。

算法设计

package com.bean.algorithm.basic;import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.Map;/* * 题目要求:在给定的数组中,查找出现次数最多的数组元素和其出现的次数 * */public class FindMaxCountofElements {	/**	 * @param args	 */	public static void main(String[] args) {		int[] array = { 2, 3, 1, 2, 2, 5, 6, 8, 2, 3, 2, 4, 2 };				// 第一个值为出现的数字,第二个值为出现的次数		HashMap
map = new HashMap<>(); for (int i = 0; i < array.length; i++) { if (map.containsKey(array[i])) { int temp = map.get(array[i]); map.put(array[i], temp + 1); } else { map.put(array[i], 1); } } // 得到value为maxCount的key,也就是数组中出现次数最多的数字 Collection
count = map.values(); int maxCount = Collections.max(count); int maxnum = 0; for (Map.Entry
entry : map.entrySet()) { if (maxCount == entry.getValue()) { maxnum = entry.getKey(); } } System.out.println("出现次数最多的元素为" + maxnum); System.out.println("该元素一共出现了" + maxCount + "次"); }}

程序运行结果:

出现次数最多的元素为2

该元素一共出现了6次

 

转载地址:http://gntdi.baihongyu.com/

你可能感兴趣的文章
关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)
查看>>
如何防止跨站点脚本攻击
查看>>
黑客是怎样入侵你的网站的
查看>>
人类的祖先为什么会走出非洲
查看>>
电子书收藏
查看>>
网站地址中的www有还是没有
查看>>
RFC文档(中文翻译版本)
查看>>
邮件是怎么发送和接收的(STMP和POP3/IMAP协议)
查看>>
渗透的艺术
查看>>
怎么查看gcc默认的include路径
查看>>
TCP连接状态
查看>>
SecureCRT登录ssh上传下载文件方法
查看>>
理解硬盘
查看>>
理解硬盘(二)
查看>>
ubuntu下7zip压缩解压缩命令使用
查看>>
Makefile中的info函数
查看>>
使用mkimage制作uboot脚本
查看>>
全球海底光缆分布图-Submarine Cable Map
查看>>
很有用的图像数据转换工具
查看>>
uboot内存布局
查看>>