CCF 201312-1 出现次数最多的数Java

Posted 鱼の家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF 201312-1 出现次数最多的数Java相关的知识,希望对你有一定的参考价值。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = sc.nextInt();
		}

		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		for(int i=0;i<n;i++) {
			if(map.containsKey(array[i]))
				map.put(array[i],map.get(array[i])+1);
			else
				map.put(array[i], 1);
		}
		
		int max = 0;
		int value = 0;
		Iterator<Map.Entry<Integer, Integer>> iter = map.entrySet().iterator();
		while (iter.hasNext()) {
			Map.Entry<Integer, Integer> entry = iter.next();
			if (entry.getValue() > max ) {
				value = entry.getKey();
				max = entry.getValue();
			}
		}
		sc.close();
		System.out.println(value);
	}
}

由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。
Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value
Map.Entry里面包含getKey()和getValue()方法

Set<Entry<T,V>> entrySet()
该方法返回值就是这个map中各个键值对映射关系的集合。
可使用它对map进行遍历。

Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator();
	while(it.hasNext()) {
		Map.Entry<Integer,Integer> entry=it.next();
		int key=entry.getKey();
		int value=entry.getValue();
		System.out.println(key+" "+value);
}

以上是关于CCF 201312-1 出现次数最多的数Java的主要内容,如果未能解决你的问题,请参考以下文章

CCF 201312-1 出现次数最多的数

CCF CSP 201312-1 出现次数最多的数

CCF 201312-1 出现次数最多的数 (水题)

ccf 201312-1 出现次数最多的数

CCF认证真题-(201312-1)-出现次数最多的数

CCF_201312-1_出现次数最多的数