解题思路: 构造对象,重写比较方法,格式化输出
注意事项: 注意k是从1开始的,第K大的即为下标k-1的升序排列下的解
参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main implements Comparable<Object>{ int x,y,z; Main(int x,int y,int z){ this.x=x;this.y=y;this.z=z; } public int compareTo(Object o) { Main o1=(Main)o; int flag=-1; if(this.x>o1.x) flag=1; else if(this.x==o1.x) { if(this.y>o1.y) flag=1; else if(this.y==o1.y) { if(this.z>o1.z) flag=1; } else flag=-1; } return flag; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); Main arr[] = new Main[n]; for(int i=0;i<n;i++) arr[i]=new Main(in.nextInt(), in.nextInt(), in.nextInt()); int k=in.nextInt(); Arrays.parallelSort(arr); System.out.println(arr[k-1].x+" "+arr[k-1].y+" "+arr[k-1].z); in.close(); } }
0.0分
3 人评分