哈希表
作者:
巷港
,
2022-04-04 00:03:07
,
所有人可见
,
阅读 180
出现次数最多的数
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 10010;
int cnt[N];
int n;
int main()
{
scanf("%d",&n);
while (n--)
{
int x;
cin>>x;
cnt[x]++;
}
int ans =1;
for (int i=2;i<N;i++)
{
if (cnt[i]>cnt[ans]) ans=i;
}
cout<<ans<<endl;
return 0;
}
相反数
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1010;
int cnt[N];
int n;
int main()
{
cin>>n;
while (n--) //输入n个数
{
int x;
cin>>x;
cnt[abs(x)]++; //绝对值的出现次数加1
}
int ans=0;
for (int i=-1000;i<=1000;i++) //每个数的绝对值范围是-1000~1000
{
if (cnt[abs(i)]==2) ans++; //这里会重复计算一遍,最终结果需要除以2
}
cout<<ans/2<<endl;
return 0;
}