看起来不难题为什么总是 显示 Wrong Answer at Test 3 排序
时间限制(普通/Java):1000MS/10000MS          运行内存限制:65536KByte
总提交:18            测试通过:8描述大家对排序都很清楚了,可是你的排序有多快呢? 输入  第一行为一个整数N(1<=N<=80,000)第二行为N个绝对值不超过1,000,000,000的整数,表示需要排序的序列
输出输出N行,为N个整数按升序排序后的序列样例输入5
5 4 3 2 1样例输出1
2
3
4
5
我的代码是以下:import java.util.Scanner;
public class Main{
public static void main(String[]args){
Scanner num= new Scanner (System.in);
int[] array=new int[num.nextInt()];

for(int i=0;i<array.length;i++){
array[i]=num.nextInt();
}
java.util.Arrays.sort(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}}
求解。

解决方案 »

  1.   

    好像没看出错误,要不你自己写一个排序算法,不用那个sort.
    顺便问一下,你是准备参加ACM比赛吧?奇怪,我们学校怎么没通知呢
      

  2.   

    恩。对,参加了,我写了。你看看这个算法》也可以运行。但是在ACM上。同样的错误。!!!!求解。这么简单就不能AC这不是打击我么》
    import java.util.Scanner;
    public class Main{
    public static void main(String[]args){
    Scanner num= new Scanner (System.in);
    int[] array=new int[num.nextInt()];

    for(int i=0;i<array.length;i++){
    array[i]=num.nextInt();
    }
    for(int i=array.length-1;i>=1;i--){
    int max=array[0];
    int index_max=0;
    for(int j=0;j<=i;j++){
    if(array[j]>max){
    max=array[j];
    index_max=j;
    }

    }
    if(index_max!=i){
    array[index_max]=array[i];
    array[i]=max;
    }


    }
    for(int i=0;i<array.length;i++){
    System.out.println(array[i]);
    }
    }}
    是不是别的问题。时间过了或那个限制1<=N<=80,000 也要限制么?应该是它测试数据吧???
      

  3.   

    一般输入的数据很可能不只1组~~
    以EOF结尾
    比如可能一个测试用例:
    5
    1 2 3 4 5
    6
    1 2 3 4 5 6
      

  4.   

    相对而言..ACM一般用C/C++比较好~~
    JAVA一般用来解决大数(有直接的库可以调用)
    还有有些Hash的题目
    不过这些一般在正式比赛很少出现~~