您的位置:首页 > 其它

九度OJ题目1041:Simple Sorting解题报告

2017-04-12 23:39 169 查看
题目1041:Simple Sorting

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:5352

解决:2047

题目描述:

You are given an unsorted array of integer numbers. Your task is to sort this array and kill possible duplicated elements occurring in it.

输入:

For each case, the first line of the input contains an integer number N representing the quantity of numbers in this array(1≤N≤1000). Next N lines contain N integer numbers(one number per each line) of the original array.

输出:

For each case ,outtput file should contain at most N numbers sorted in ascending order. Every number in the output file should occur only once.

样例输入:
6
8 8 7 3 7 7


样例输出:
3 7 8


解题分析:在做该题的时候,由于排序函数的问题,一直Wrong Answer,看了别人的排序函数之后,才做正确;输出格式也需要注意。思路是每次输入一个数的时候,判断该数是否已经出现过,若没有,则保存到一个新数组中,若已经出现过,则忽略,继续判断下一个输入数值。


注意:排序函数:[cpp] view plain copyint cmp(const void *a, const void *b){  
    return *(int *)a - *(int *)b;  
}  
提交会Wrong
网友解释:如果a=2147483647,b=-2;就会出现a-b>0,结果溢出了。所以使用return *(int *)a>*(int *)b?1:-1;就对了
测试数据:
2
2147483647 -2

源代码:



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: