问题标题: 酷町堂:11340 求解

1
0
已解决
马奕阳
马奕阳
中级守护
中级守护

 

#include<iomanip>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n,a[100005],t[100005]; 
int ma,cnt,b[105];
int cmp(int x,int y){
    return x<y;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        t[a[i]]++;
    }
    for(int i=1;i<=n;i++){
        if(ma<t[a[i]]){
            ma=t[a[i]];
        }
    }
    for(int i=1;i<=n;i++){
        if(t[a[i]]==ma){
            b[i]=a[i];
            cnt++;
            t[a[i]]=0;
        }
    }
    cout<<cnt;
    cout<<endl;
    sort(b+1,b+n+1,cmp);
    for(int i=1;i<=n;i++){
        if(t[a[i]]==0){
            cout<<b[i]<<' ';
        }
    }
    return 0;
}


0
已采纳
郑艾平
郑艾平
初级守护
初级守护

思路:

头文件:iostream 

定义n,a[100005]

定义桶数组t[105];//定义105是因为尺寸最大100。

定义int mx;//最大有几个相同尺寸。

循环n次{

    输入一个数a[i];

    t[a[i]]++;

    mx的打擂台;

}

循环100次{

    如果t[i]==mx就输出i;

}

 

希望以上思路能帮到你,不懂可以@我 要代码

我要回答