CCF201312(1)出现次数最多的数
来源:互联网 发布:淘宝怎样增加流量 编辑:程序博客网 时间:2024/04/28 07:33
There are two solutions for this problem.
First:
#include<stdio.h>//算法存在冗余计算量//数值相同的两个或多个的出现次数都计算了,只不过是逐次-1//因此没有影响最后计算结果 //用链表或者统计标记的方法解都很好 //将数组中出现过的数排成队列或标记 //节省计算量 int main(){int n;int m[10000];scanf("%d",&n);int i,j;int min=32000;//int -32768~32767记录出现次数最多的最小数 int maxnum=0;//记录出现的最大次数 int book[10000]={0};//记录每个元素出现的次数 for(i=0;i<n;i++)book[i]=1;for(i=0;i<n;i++)scanf("%d",&m[i]);for(i=0;i<n;i++)for(j=i+1;j<n;j++){if(m[i]==m[j])book[i]++;}for(i=0;i<n;i++){if(book[i]>maxnum){ min=m[i]; maxnum=book[i];}else if(book[i]==maxnum){if(m[i]<min)min=m[i];}}printf("%d",min);return 0;}
Second:
#include<stdio.h>int main(){int n;scanf("%d",&n);int book[10001]={0};int data[10001]={0};int i,j,min,time;int count=0;int a;for(i=0;i<n;i++){scanf("%d",&a);if(book[a]==0){data[count]=a;count++;book[a]++;}elsebook[a]++;}min=data[0];time=book[min];for(j=1;j<count;j++){if(book[data[j]]==time){min=(data[j]<min)?data[j]:min;}else if(book[data[j]]>time){min=data[j];time=book[data[j]];}else continue;}printf("%d",min);return 0;}
Good Luck to myself !
0 0
- CCF201312-1 出现次数最多的数
- CCF201312-1-出现次数最多的数
- CCF201312(1)出现次数最多的数
- CCF201312-1 出现次数最多的数(100分)
- CCF201312-1 出现次数最多的数 桶排序
- 201312-1 出现次数最多的数
- 201312-1-出现次数最多的数
- CCFCSP201312-1出现次数最多的数
- 201312-1 出现次数最多的数
- 201312-1出现次数最多的数
- 201312-1 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- 出现次数最多的数
- PHP获得毫秒数
- 英语学习-卡萨布兰卡
- 掌握了测试驱动的秘密,就是掌握了开发的大秘密
- iOS程序猿这些工具你值得拥有
- beeline 参数
- CCF201312(1)出现次数最多的数
- Must Know Tips/tricks in DNN
- iOS学习笔记 ——文件操作(NSFileManager)
- Android Studio如何正确打jar包
- 数据库连接池
- ios 苹果内购踩过的坑
- ZOJ
- HTML简介以及基本使用
- sql优化:避免全表扫描