4085:数组去重排序
总时间限制: 1000ms 内存限制: 1000kB
描述
小吉是银行的会计师,在处理银行帐目的时候,遇到了一些问题。有一系列整数,其中含有重复的整数,需要去掉重复后,排序输出,你能帮助小吉解决问题吗?
输入
输入数据共2行,第一行输入测试数据个数n,第二行输入这n个整数,整数之间可能有重复,整数之间可能有若干个空格。
n <= 105,所有的整数不超过104。
输出
输出为1行,是这n个数去重后从小到大的排序。
样例输入
3
4 4 2
样例输出
2 4
问题链接:Bailian4085 数组去重排序
问题简述:(略)
问题分析:
排序问题,还需要去重。数据值的范围有限,可以使用桶排序,顺便就去重了。
程序说明:(略)
参考链接:(略)
题记:到处都是排行榜,排序无所不在。
AC的C语言程序如下:
/* Bailian4085 数组去重排序 */
#include <stdio.h>
#include <string.h>
#define N 10000
int cnt[N + 1];
int main(void)
{
int n, a, i;
memset(cnt, 0, sizeof(cnt));
scanf("%d", &n);
for(i = 1; i <= n; i++) {
scanf("%d", &a);
cnt[a]++;
}
for(i = 0; i <= N; i++)
if(cnt[i]) printf("%d ", i);
return 0;
}