用set和不用set的方法都有
2024-08-22 12:11:41
发布于:上海
13阅读
0回复
0点赞
这是SET方法
#include<iostream>
#include<set>
using namespace std;
set<int> se;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
se.insert(x);
}
set<int>::iterator it;
int cnt=0;
for(it=se.begin();it!=se.end();it++){
cnt++;
}
cout<<cnt<<endl;
for(it=se.begin();it!=se.end();it++){
cout<<*it<<" ";
}
}
这是不用SET方法
#include<iostream>
using namespace std;
int n;
int maxx=-114514,minn=114514;
const int N=3e6+6;
int cnt[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
cnt[x]=1;
maxx=max(maxx,x);
minn=min(minn,x);
}
int cntt=0;
for(int i=minn;i<=maxx;i++){
if(cnt[i]==1) cntt++;
}
cout<<cntt<<endl;
for(int i=minn;i<=maxx;i++){
if(cnt[i]==1) cout<<i<<" ";
}
}
这里空空如也
有帮助,赞一个