解题思路: 使用比较器对列进行排序。
注意事项: 使用比较器对列进行排序只需要把(b[1], a[1])换成(b[i], a[i])即可。
参考代码:
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int k = scan.nextInt();
double[][] datas = new double[n][2];
for(int i = 0; i < n; i++){
datas[i][0] = (int)scan.nextDouble();
datas[i][1] = scan.nextDouble();
}
Arrays.sort(datas, new Comparator<double[]>() {
@Override
public int compare(double[] a, double[] b) {
return Double.compare(b[1], a[1]); // 降序排序
}
});
// 输出排序后的结果
for (int i = 0; i < n; i++) {
if(i == k-1){
System.out.printf("%d %.1f", (long)datas[i][0], datas[i][1]);
}
}
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:584 |
C语言程序设计教程(第三版)课后习题7.4 (Java代码)浏览:842 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:495 |
Hello, world! (C语言代码)浏览:1201 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:855 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
回文数(一) (C语言代码)浏览:750 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1140 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:686 |