当老大有什么意思!”小明如是想。于是他把班级里的同学按年龄排序,最为推崇第二大的同学了!然而,他也很推崇倒数第二大的同学。请问这两个同学相差多少岁?
输入
第一行是数据的组数 nCase (n<=5),每组测试数据的第一行是一个整数 n(n>=2) ,表示班级里有 n 位同学。以下是 n 位同学的年龄。
输出
年龄第二和倒数第二的同学的年龄差。
样例输入
2
50
16 19 4 25 20 5 28 28 30 26 13 18 2 14 1 30 14 2 3 17 6 6 24 16 16 30 2 29 16 27 9 29 24 7 14 5 7 6 13 1 21 1 18 8 5 6 2 7 14 7
20
9 29 24 7 14 5 7 6 13 1 21 1 18 8 5 6 2 7 14 7
样例输出
29
23
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for (int i = 0; i < n; i++) {
ArrayList<Integer> lists = new ArrayList<Integer>();
int k = scanner.nextInt();
for (int j = 0; j < k; j++) {
lists.add(scanner.nextInt());
}
list.add(lists);
}
for (int i = 0; i < list.size(); i++) {
Collections.sort(list.get(i));
}
for (int i = 0; i < list.size(); i++) {
ArrayList<Integer> listss = list.get(i);
if(listss.size() == 2) {
//这里记得判断当只有俩个人的时候,那么就是最大减最小
System.out.println(listss.get(listss.size()-1)-listss.get(0));
}else {
System.out.println(listss.get(listss.size()-2)-listss.get(1));
}
}
}
}
这篇博客探讨了一个有趣的问题,即在班级中找出年龄第二和倒数第二的同学,并计算他们之间的年龄差。通过给出的样例输入和输出,可以看出这是一个关于数据处理和排序的算法问题,可能涉及编程语言如Java的实现。

1万+

被折叠的 条评论
为什么被折叠?



