题目描述:
请将坐标x,y,z依照以下规则排序:
x为第一关键字,当x相同时,依照y(第二关键字)大小来排序,当y相同时,依照z大小来排序(第三关键字)
给出了若干坐标,和一个数k,请输出按关键字排序第K个的坐标。
代码:
package lanqiao;import java.util.*;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;}elseflag=-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();}
}