目录
题目描述
给定一个包含 n 个整数的数组,请你删除数组中的重复元素并将数组从小到大排序后输出。
输入格式
第一行包含一个整数 n。
第二行包含 n 个不超过 1000 的正整数。
输出格式
输出去重和排序完毕后的数组。
数据范围
1≤n≤1000
解法1
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
int q[N];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++) cin>>q[i];
sort(q,q+n);
n = unique(q,q+n)-q;
for(int i=0;i<n;i++){
cout<<q[i]<<" ";
}
return 0;
}
解法2
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
int q[N];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++) cin>>q[i];
sort(q,q+n);
int j = 1;
for(int i=1;i<n;i++){
if(q[i]!=q[i-1]){
q[j++] = q[i];
}
}
for(int i=0;i<j;i++){
cout<<q[i]<<" ";
}
return 0;
}