题目描述:
奥运会开始了,想请你为各个国家和地区做奖牌排序,按照金牌>银牌>铜牌的格式进行排序
输入:
第一行 告诉你共有n个国家
接来下的n 行 每行三个数字 分别代表 金牌数量 银牌数量 铜牌数量 中间用空格隔开
输出:
输出n行 每行三个数字 按照题意进行排序
样例输入:
5 1 2 3 2 3 4 1 4 6 1 4 3 0 3 4
样例输出:
2 3 4 1 4 6 1 4 3 1 2 3 0 3 4
分析:
这道题是一道排序问题,在于一次比较金银铜三个奖牌的数量,需要我们自己写一个排序方法,即Comparator。
一开始我想过直接将三个数转成String类型然后用String类型降序进行比较,但后来会发现一个问题,这么比的话1 1 16是小于1 1 5的,因为他第5个位置1<5,但实际上这是不正确的,所以我们要将这个数组重写以恶个排序规则来进行实现。
代码实现:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[][] a=new int[n][3];
for(int i=0;i<n;i++) {
for(int j=0;j<3;j++){
int m=sc.nextInt();
a[i][