题目链接:[NOIP2006 普及组] 明明的随机数 - 洛谷
题目难度:普及-
涉及知识点:快排,去重
题意:
输入样例:
10 20 40 32 67 40 20 89 300 400 15
输出样例:
8 15 20 32 40 67 89 300 400
分析:先用sort从小到大快排,再用umique函数去重
AC代码:
#include<bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
int n;
ios::sync_with_stdio(false);//加快cin,cout
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>a[i];//读入
}
sort(a+1,a+n+1);//从小到大快排
int b=unique(a+1,a+n+1)-a-1;//unique可把重的放在末尾,-a-1彻底去重
cout<<b<<endl;//输出共多少个数
for(int i=1; i<=b; i++)
{
cout<<a[i]<<" ";//输出去重数据
}
return 0;
}
总结:先用sort从小到大快排,再用umique函数去重