CCF系列之出现次数最多的数(201312-1)
2016-03-26 17:40
281 查看
试题名称: 出现次数最多的数
时间限制: 1.0s
内存限制: 256.0MB
问题描述: 问题描述
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10
解题思路:
代码如下(java):
时间限制: 1.0s
内存限制: 256.0MB
问题描述: 问题描述
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10
解题思路:
代码如下(java):
package ccf_text2013_12; import java.util.Scanner; /** * 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 * @author Hello stranger * */ public class MaxTimeNumber { public static void main(String[] args) { new MaxTimeNumber().run(); } private void run() { Scanner fin = new Scanner(System.in); int N = fin.nextInt(); int[] count = new int[10001]; for(int i = 0; i < N; i++){ ++count[fin.nextInt()]; } //long start = System.currentTimeMillis(); //获取当前系统毫秒值 int maxCount = -1; int result = 0; for(int i = 1; i <= 10000; ++i){ if(count[i] > maxCount){ maxCount = count[i]; result = i; } } System.out.println(result); //long end = System.currentTimeMillis(); //System.out.println((end - start)/1.0e3 +"s"); } }
相关文章推荐
- cc2541的SCL和SDA在协议栈中用作普通IO口
- 15电气郄慧敏vb作业5比较两个数的大小
- 课后作业03
- dmp 文件的导入和导出
- [DIV/CSS] 认识一下 Material Design Lite 布局组件
- 分析system_call中断处理过程
- macbook快捷键
- 学习进度条--第四周
- AJax的全接触
- 用ffmpeg实现录音
- 根据数据库表生成树。
- Android 相机开发 三星拍照崩溃修改解决 详细
- 用Spring MVC实现自定义404页面
- 【转】NodeJS教程--基于ExpressJS框架的文件上传
- JDBC第二次学习
- 一笔画问题
- Linux - 简介介绍
- [1011-
- [Linux]ubuntu更新支持
- ST_chapter3