问题描述:
Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。统计结果表明,有3个发帖很多的ID,他们的发帖数目都超过了帖子总数目N的1/4。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能从发帖ID列表中快速找出他们的ID吗?
#include<stdio.h>
void find(int *p,int N,int q[3])
{
int i,j,k,t;
int n_times[3]={0,0,0};
q[0]=q[1]=q[2]=-1;
for(i=0;i<N;i++)
{
for(j=0;j<3;j++)
if(p[i]==q[j])
{
n_times[j]++;
break;
}
if(j==3)
{
for(k=0;k<3;k++)
{
if(n_times[k]==0)
{
q[k]=p[i];
n_times[k]=1;
break;
}
}
if(k==3)
{
for(t=0;t<3;t++)
n_times[t]--;
}
}
}
for(i=0;i<3;i++)
printf("%d ",n_times[i]);
}
void main()
{
int a[12]={1,6,6,5,5,7,2,2,5,8,6,2},b[3];
find(a,12,b);
for(int i=0;i<3;i++)
printf("%d ",b[i]);
}