您的位置:首页 > 其它

九度oj-1185-特殊排序

2014-10-11 16:37 351 查看
时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:9287

解决:2252

题目描述:

输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。

输入:
输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。
接下来的一行有N个整数。

输出:
可能有多组测试数据,对于每组数据,
第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。
第二行将排序的结果输出。

样例输入:
4
1 3 4 2


样例输出:
4
1 2 3


提示:

如果数组中只有一个数,当第一行将其输出后,第二行请输出"-1"。

来源:2003-2005年华中科技大学计算机研究生机试真题
import java.util.Scanner;
import java.util.Arrays;
public class Main{
int[] a=new int[1005];
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int n=in.nextInt();
Main T=new Main();
for(int i=0;i<n;i++)
T.a[i]=in.nextInt();
if(n==1){
System.out.print(T.a[0]+"\n"+"-1"+"\n");
}
else{
int k=n-2;
Arrays.sort(T.a, 0, n);
System.out.println(T.a[n-1]);
//for( k=n-2;k>=0;){
//if(T.a[k]==T.a[n-1]) k--;
//else break;
//}
for(int i=0;i<k;i++)
System.out.print(T.a[i]+" ");
System.out.println(T.a[k]);
}
}
in.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: