数据结构实验:哈希表
Time Limit: 1000MS Memory limit: 65536K
题目描述
在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。
输入
单组数据,第一行数字n(1<=n<=100000)。
接下来有n个数字,每个数字不超过100000000
接下来有n个数字,每个数字不超过100000000
输出
出现次数最多的数字和次数。
示例输入
3 1 1 2
示例输出
1 2
提示
来源
cz
示例程序
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int b[100001],a[100001],i,n,max;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
for(i=0;i<n;i++)
b[i]=upper_bound(a,a+n,a[i])-lower_bound(a,a+n,a[i]);
max=0;
for(i=1;i<n;i++)
if(b[max]<b[i])max=i;
printf("%d %d\n",a[max],b[max]);
}