题目:
题目描述
在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。
输入
单组数据,第一行数字n(1<=n<=100000)。
接下来有n个数字,每个数字不超过100000000
接下来有n个数字,每个数字不超过100000000
输出
出现次数最多的数字和次数。
示例输入
3 1 1 2
示例输出
1 2
#include<cstdio>
#include<algorithm>
using namespace std;
main()
{
int i,f;
int n;
int a[100010];
int num,count;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
count=1;
num=a[0];
f=1;
for(i=0;i<n-1;i++)
{
if(a[i]==a[i+1])
{
f++;
}
else
{
if(f>count)
{
count=f;
num=a[i];
}
f=1;
}
}
if(f>count)
{
count=f;
num=a[n-2];
}
printf("%d %d\n",num,count);
}