0
已解决
王鑫烨
中级光能
中级光能
题目详情
3975 !(去重)排序2经验值:400
题目描述 Description
现在有n(n不超过10^5)个正整数(范围是1~ 10000),请你将其中重复出现m(1~20)次的整数舍去,剩下的数据按照降序输出,
输入描述 Input Description
第一行输入两个空格隔开的整数n m;
输出描述 Output Description
输出一行,若干个整数,空格隔开
样例输入 Sample Input
10 2 1 2 5 2 3 1 4 5 3 3
样例输出 Sample Output
4 3 3 3
我的错误代码:
#include<iostream>
using namespace std;
int a[10009];
int main(){
int n,t,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>t;
a[t]++;
}
for(int i=10000;i>=1;i--){
if(a[i]==m){
cout<<i<<' ';
}
}
return 0;
}
0
已采纳
张岳恒
资深光能
资深光能
你错的有点多
首先,输入
再来一个遍历桶数组
如果a[i]==m a[i]清零
双重循环遍历桶数组,输出i
AC,la;
望采纳
0
0
朱子尘
初级光能
初级光能
题目上说:
而你
if(a[i]==m){
cout<<i<<' ';
}
怎么没舍去,还又输出了
这个我给你两个结构
1 if
2 if else
自己选用哪个
如果还不对跟我说(是你作业吧)
0
王鑫烨
中级光能
中级光能
#include<iostream>
using namespace std;
int a[10009];
int main(){
int n,t,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>t;
a[t]++;
}
for(int i=10000;i>=1;i--){
if(a[i]==m){
i=0;
}
else{
cout<<i<<' ';
}
}
return 0;
}
0
0
0
0