import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int[] a = new int[num];
int temp;
for (int i = 0; i < num; i++) {
a[i] = in.nextInt();
}
//冒泡排序
for (int j = 0; j < num - 1 ; j++) {
for (int k = 0; k < num - 1 - j ; k++) {
if (a[k] > a[k + 1]) {
temp = a[k];
a[k] = a[k+1];
a[k+1] = temp;
}
else if (a[k+1] == a[k]) {
a[k+1] = 999;
//标记重复
}
}
}
/*
//再次冒泡排序将所有999排至末尾
for (int j = 0; j < num - 1 ; j++) {
for (int k = 0; k < num - 1 - j ; k++) {
if (a[k] > a[k + 1]) {
temp = a[k];
a[k] = a[k+1];
a[k+1] = temp;
}
}
}
*/
for (int j = 0; j < num; j++) {
if(a[j] != 999){
System.out.println(a[j]);
}
}
}
}
简单复习一下冒泡排序,并将排序中检测到的重复项标记为特殊值(考虑到题解数值不大于500),之后再筛选一遍将最大项筛除就可。
如果不能使用特殊值标记的话,用其他java方法也可以,我自己写的算是笨方法(

京公网安备 11010502036488号