题目 2021: 坐标排序

题目描述:

请将坐标x,y,z依照以下规则排序:

x为第一关键字,当x相同时,依照y(第二关键字)大小来排序,当y相同时,依照z大小来排序(第三关键字)

给出了若干坐标,和一个数k,请输出按关键字排序第K个的坐标。

代码:

java 复制代码
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;
            }
            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();
    }
}
相关推荐
^Lim几秒前
esp32 JTAG 串口 bootload升级
java·linux·网络
特种加菲猫3 分钟前
初阶数据结构之栈的实现
开发语言·数据结构·笔记
LNTON羚通3 分钟前
算法定制LiteAIServer视频智能分析平台工业排污检测算法智控环保监管
算法·目标检测·音视频·监控·视频监控
江-小北5 分钟前
Java基础面试题04:Iterator 和 ListIterator 的区别是什么?
java·开发语言
好好学习O(∩_∩)O7 分钟前
11-23刷题记录
算法·leetcode·职场和发展
wmd131643067129 分钟前
IDEA插件CamelCase,快速转变命名格式
java·ide·intellij-idea
bingw011431 分钟前
华为机试HJ62 查找输入整数二进制中1的个数
数据结构·算法·华为
苏言の狗34 分钟前
小R的二叉树探险 | 模拟
c语言·数据结构·算法·宽度优先
捂月43 分钟前
Spring Boot 核心逻辑与工作原理详解
java·spring boot·后端
埋头编程~1 小时前
【C++】踏上C++学习之旅(十):深入“类和对象“世界,掌握编程黄金法则(五)(最终篇,内含初始化列表、静态成员、友元以及内部类等等)
java·c++·学习