上一次,我们知道了明明的奇怪要求。
由于间隔时间较久,所以我们再熟悉一下题目。
这道题目实际上就是让我们对随机数进行去重和排序,其他的全是废话。
在开始写代码前,先了解两个函数。
- set
set这个东西可以去重,也可以排序,在这题中就可以用。
- insert
insert可以在一个容器中插入元素。
那么,在了解以上两个函数后,就可以开始写代码了。
const int N=100001;
int n,a[N];
set<int>s;
cin>>n;
在了解题意后,创建以上变量。
for(int i=1;i<=n;i++){
int t;
cin>>t;
s.insert(t);
}
开始去重,排序,统计去重后的随机数数量。
cout<<s.size()<<endl;
for(auto x:s) cout<<x<<" ";
最后输出结果。for(auto x:s)与正常for循环无异,不过它引进版本较高,版本太低的话在dev里运行会报错。
完整AC代码
#include<bits/stdc++.h>
#include<set>
using namespace std;
const int N=100001;
int n,a[N];
int main(){
set<int>s;
cin>>n;
for(int i=1;i<=n;i++){
int t;
cin>>t;
s.insert(t);
}
cout<<s.size()<<endl;
for(auto x:s) cout<<x<<" ";
return 0;
}