AcWing 425. 明明的随机数 三种方法
原题链接
简单
作者:
辉小歌
,
2021-05-24 17:18:40
,
所有人可见
,
阅读 256
set方法
#include<cstdio>
#include<iostream>
#include<string>
#include<set>
using namespace std;
set<int> st;
int main(void)
{
int n; cin>>n;
while(n--)
{
int x; cin>>x;
st.insert(x);
}
cout<<st.size()<<endl;
for(auto x:st) cout<<x<<" ";
return 0;
}
unique大法
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=110;
int a[N];
int main(void)
{
int n; cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
int k=unique(a,a+n)-a;
cout<<k<<endl;
for(int i=0;i<k;i++) cout<<a[i]<<" ";
return 0;
}
哈希大法
#include<cstdio>
#include<iostream>
using namespace std;
const int N=1010;
bool st[N];
int cnt;
int main(void)
{
int n; cin>>n;
while(n--)
{
int x; cin>>x;
if(!st[x]) st[x]=true,cnt++;
}
cout<<cnt<<endl;
for(int i=0;i<=N;i++)
if(st[i]) cout<<i<<" ";
return 0;
}