私信TA

用户名:Praguetramp

访问量:29426

签 名:

等  级
排  名 19
经  验 19949
参赛次数 0
文章发表 130
年  龄 0
在职情况 待业
学  校
专  业

  自我简介:

aura

解题思路:    构造对象,重写比较方法,格式化输出

注意事项:    注意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 人评分

  评论区