3.能量圆盘【算法赛】 - 蓝桥云课 (lanqiao.cn)
我想着统计一下每个数的出现次数,把所有的数都变为出现次数最多的那个数.下面代码没有通过:
//第三题
#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
const int N=1010;
int a[N];
int maxn=-INF;
map<int,int>haxi;
int main()
{
int n;cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
haxi[a[i]]++;
}
for(auto &it:haxi)
{
maxn=max(maxn,it.second);
}
cout<<maxn<<endl;
return 0;
}
想了一下是自己傻了,题目问的是最少需要多少次才可以把所以数变的一样.所以最后我不应该输出maxn,而应该输出n-maxn.这样就可以通过了: