博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的算法---实现找出数组中一个数字出现次数最多的数字
阅读量:5261 次
发布时间:2019-06-14

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

程序员=编程语言基础+数据结构+算法

这几天继续回归java基础,以及学习数据结构的知识,这里实现一个简单的算法----找出数组中一个数字出现次数最多的数字的算法

 

public class HashMapTest1{    /**     * 找出一个数组中一个数字出现次数最多的数字     * 用HashMap的key来存放数组中存在的数字,value存放该数字在数组中出现的次数     * @author xiaoluo      */    public static void main(String[] args)    {        int[] array = {2, 1, 2, 3, 4, 5, 2, 2, 2, 2};                //map的key存放数组中存在的数字,value存放该数字在数组中出现的次数        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); } } Collection
count = map.values(); //找出map的value中最大的数字,也就是数组中数字出现最多的次数 int maxCount = Collections.max(count); int maxNumber = 0; for(Map.Entry
entry : map.entrySet()) { //得到value为maxCount的key,也就是数组中出现次数最多的数字 if(maxCount == entry.getValue()) { maxNumber = entry.getKey(); } } System.out.println("出现次数最多的数字为:" + maxNumber); System.out.println("该数字一共出现" + maxCount + "次"); }}

 

打印结果如下:

出现次数最多的数字为:2该数字一共出现6次

 

 

转载于:https://www.cnblogs.com/xiaoluo501395377/archive/2012/11/20/2779752.html

你可能感兴趣的文章
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
理解git对象
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Apache配置反向代理、负载均衡和集群(mod_proxy方式)
查看>>
Linux编程简介——gcc
查看>>
一种高效的序列化方式——MessagePack
查看>>
2019年春季学期第四周作业
查看>>
2019春第十周作业
查看>>
解决ThinkPHP关闭调试模式时报错的问题汇总
查看>>
【APT】SqlServer游标使用
查看>>
关于ExecuteNonQuery()返回值为-1
查看>>
Firefox修復QQ快速登錄
查看>>
PAT——1060. 爱丁顿数
查看>>
分布式技术追踪 2017年第二十期
查看>>
git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
查看>>
Linux环境变量永久设置方法(zsh)
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>