用集合去重后排序,输出严格递增的整数序列。
OJ: noi_openjudge
题目 ID: ch0111-08
难度:入门
标签:排序集合python
日期: 2026-07-30 23:01
题意
读入大量整数,按从小到大顺序输出每个不同整数一次。
思路
集合自动去重,sorted(numbers) 得到严格递增列表。最后使用 print(*...) 以单个空格分隔输出。
代码
Python代码
python
number_count = int(input())
numbers = {int(input()) for _ in range(number_count)}
print(*sorted(numbers))C++代码
cpp
#include <bits/stdc++.h>
using namespace std;
int n;
int a[1000005];
int main(){
scanf("%d",&n);
int i;
for (i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int pos = unique(a+1, a+n+1)-(a+1);
for(i=1;i<=pos;i++)
printf("%d ",a[i]);
return 0;
}复杂度
设不同整数有
总结
当只关心不同元素的有序集合时,set 加 sorted 足够直接。