输出排序结果,各正整数以空格分割
和小明身高差绝对值最小的小朋友排在前面
和小明身高差绝对值最大的小朋友排在后面
如果两个小朋友和小明身高差一样
则个子较小的小朋友排在前面
public class Main0006 {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int h = scanner.nextInt();
int n = scanner.nextInt();
List<Integer> highs = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
highs.add(scanner.nextInt());
}
solution(h, highs);
}
}
private static void solution(int h, List<Integer> highs) {
highs.sort((h1, h2) -> {
int diff1 = Math.abs(h1 - h);
int diff2 = Math.abs(h2 - h);
return diff1 == diff2 ? h1 - h2 : diff1 - diff2;
});
for (int i = 0; i < highs.size(); i++) {
System.out.print(highs.get(i));
if (i != highs.size() - 1) {
System.out.print(" ");
}
}
}
}片