首页 > 代码库 > 水贴王之续,找出数组里出现频率最高的元素

水贴王之续,找出数组里出现频率最高的元素

找出数组里出现频率最高的元素

个人信息:就读于燕大本科软件工程专业 目前大三;

本人博客:google搜索“cqs_2012”即可;

个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;

博客内容:水贴王问题之续

博客时间:2014-5-12;

编程语言:Java ;

编程坏境:Windows 7 专业版 x64;

编程工具:jdk,eclipse x64;

制图工具:office 2007 powerpoint;

硬件信息:7G-3 笔记本;


真言:

痛苦的活着比死了更好。


题目: 

找出数组里出现频率最高的元素。


思路:

利用哈希表统计元素的数目。

哈希表数据结构如下

举例:


平均时间复杂度O(N)

空间复杂度O(N)

实验:


实验1

int[] data =http://www.mamicode.com/{1,1,2,2,2};

注释 元素2出现了三次。

实验2

int[] data =http://www.mamicode.com/{1,1,2,2};

注释 元素1出现了2次(当然2也出现了两次,没有求出所有的是不足之处,我暂且只求了其中一个)

代码:

piar.java

package test;public class pair {	public int first;	public int second;	pair()	{		first = second = -1;	}}

test.java

package test;public class test {	private static final int size = 100 ;	public static void main(String[] args) {		int[] data =http://www.mamicode.com/{1,1,2,2};>