第七章 分治算法-1245:不重复地输出数

1245:不重复地输出数

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 3300 通过数: 1701
【题目描述】
输入n个数,从小到大将它们输出,重复的数只输出一次。保证不同的数不超过500个。

【输入】
第一行是一个整数n。1 ≤ n ≤ 100000。

之后n行,每行一个整数。整数大小在int范围内。

【输出】
一行,从小到大不重复地输出这些数,相邻两个数之间用单个空格隔开。

【输入样例】
5
2 4 4 5 1
【输出样例】
1 2 4 5


思路:定义一个数组,输入数据,然后对数据进行排序,打印第一个数据,循环从第二个到第N个数, 判断前面一个数是否等于后面一个数,如果不相等,则输出数据。

#include<bits/stdc++.h>

using namespace std;
int a[100010],n;
int main()
{
    scanf("%d",&n);
    for(int i = 1;i <= n;i++) scanf("%d",&a[i]);
    sort(a+1,a+1+n);
    printf("%d ",a[1]);
    for(int i = 2;i <= n;i++){
        if(a[i] != a[i-1]) printf("%d ",a[i]);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章