CSP201312-1:出现次数最多的数
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的“计算机职业资格认证”考试,针对计算机软件开发、软件测试、信息管理等领域的专业人士进行能力认证。认证对象是从事或将要从事IT领域专业技术与技术管理人员,以及高校招考研究生的复试对象。
l 问题描述
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
l 输入格式
输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
l 输出格式
输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
l 样例输入
6
10 1 10 20 30 20
l 样例输出
10
l 源代码
# include <stdio.h> # include <stdlib.h> # include <memory.h> struct storage{ int key; int value; }; int main(void) { int n; //个数 int time = 0; int flag = 1; scanf("%d", &n); int *input = (int *)malloc(sizeof(int)*n); memset(input, 0, sizeof(int)*n); struct storage *handle = (struct storage *)malloc(sizeof(struct storage)*n); memset(handle, 0, sizeof(struct storage)*n); int i, j; for (i = 0; i < n; i++) { scanf("%d", input+i); } for (i = 0; i < n; i++) { for (j = 0; j < time; j++) { if (input[i] == handle[j].key) { handle[j].value += 1; flag = 0; break; } } if (flag) { handle[time].key = input[i]; handle[time].value = 1; time += 1; } flag = 1; } int max = 0; int result = 0; for (i = 0; i < time; i++) { if (handle[i].value > max) { max = handle[i].value; result = handle[i].key; } if (handle[i].value == max) { if (result > handle[i].key) { max = handle[i].value; result = handle[i].key; } } } free(input); free(handle); printf("%d\n", result); return 0; } |
最新文章
- BZOJ 3894: 文理分科 [最小割]
- openresty 前端开发入门三之JSON篇
- MySQL Workbench中修改表字段字符集
- 使用ASP.Net WebAPI构建REST服务(五)——客户端
- (转载)目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结
- Java学习笔记——switch语句的参数类型
- Qt 学习第一步 做计划和确定目标
- ORA-12154 TNS无法解析指定的连接标识符
- Java多线程初学者指南(9):为什么要进行数据同步
- Activity声明周期容易出现的问题
- 基于winform的二进制图片数据的存取(用于数据库照片的读写处理)
- (大数据工程师学习路径)第三步 Git Community Book----基本用法(下)
- debug运行可以,release运行报错的原因及修改方法
- ssh的action校验内容输出
- LIght OJ 1179
- 1安装Linux
- vue-cli3+cordova实现app混合开发
- Codeforces Round #288 (Div. 2) C. Anya and Ghosts 模拟 贪心
- 【LOJ】#6289. 花朵
- QUIC协议
热门文章
- http://blog.csdn.net/hhhccckkk/article/details/9313999
- Python程序的执行原理(转)
- JQuery 禁用后退按钮
- Python 学习笔记(四)数字(二)
- Xadmin使用二
- Linux系统修改/etc/sysconfig/i18n文件,桌面无法正常显示
- MySQL在同一表格里把字段值(value)给另一字段(name)
- 如何改变memcached默认的缓存时间?
- PHP 进阶篇:面向对象的设计原则,自动加载类,类型提示,traits,命名空间,spl的使用,反射的使用,php常用设计模式 (麦子学员 第三阶段)
- 基于OMAPL:Linux3.3内核的编译