数据结构实验:哈希表
题目描述
在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。
输入
单组数据,第一行数字n(1<=n<=100000)。
接下来有n个数字,每个数字不超过100000000
接下来有n个数字,每个数字不超过100000000
输出
出现次数最多的数字和次数。
//一定要注意一下 k=count后面,是逗号,不是分号,被它坑的好惨。
示例输入
3 1 1 2
示例输出
1 2
//一定要注意一下 k=count后面,是逗号,不是分号,被它坑的好惨。
#include <bits/stdc++.h>
using namespace std;
int cmp(int x,int y)
{
return x<y;
}
int main()
{
int a[100101];
int i,n,t,count=1,k=0;
cin>>n;
for(i=0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n, cmp);
for(i=0; i<n; i++)
{
if(a[i]==a[i+1])
{
count++;
}
else
{
if(count>k)
k=count,
t=a[i];
count=1;
}
}
cout<<t<<" "<<k<<endl;
return 0;
}