明明的随机数,看似很难,但实则不难。直接贴代码。
#include<iostream>
using namespace std;
int a[1005],b[1005];
int main(){
int n,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
a[x]++;
}
int cnt=0;
for(int i=1;i<=1000;i++){
if(a[i]!=0){
cnt++;
b[i]=i;
}
}
cout<<cnt<<endl;
for(int i=1;i<=1000;i++){
if(b[i]!=0){
cout<<b[i]<<" ";
}
}
return 0;
}
本题的难点:大家可能不知道怎么去重。学习过桶思想的小伙伴一定知道这个算法可以去重。
去重完毕后,记录一下个数,输出个数,输出新的数组就OK了。