众数问题 NOJ 1207



众数问题

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 526            测试通过 : 72 

题目描述

给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。
对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数

输入

输入的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数。

输出

输出有2 行,第1行给出众数,第2行是重数。

样例输入

6
1
2
2
2
3
5

样例输出

2
3


这题描述不清楚,不知道出现多个众数应该如何输出,是只输出最小的还是输出最大的还是都输出==

反正AC的程序是输出最小众数,仅一个的情况==

实现代码:

<span style="font-size:12px;">#include<cstdio>
#include<cstring>
int n,m,maxi=-1,bb;
int a[100001];
int main(){
   scanf("%d",&n);
   memset(a,0,sizeof(a));
   for(int i=0;i<n;i++){
       scanf("%d",&m);
       a[m]++;
       if(maxi<a[m] ||(maxi==a[m]&&bb>m)){
           maxi=a[m];
           bb=m;
       }
   }
   printf("%d\n%d\n",bb,maxi);
}</span>

众数问题

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 526            测试通过 : 72 

题目描述

给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。
对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数

输入

输入的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数。

输出

输出有2 行,第1行给出众数,第2行是重数。

样例输入

6
1
2
2
2
3
5

样例输出

2
3

题目来源

算法设计与实验题解

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2015-04-12 21:11  Tob__yuhong  阅读(109)  评论(0编辑  收藏  举报

导航