题目 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();
    }
}
相关推荐
Javatutouhouduan5 小时前
2026Java面试的正确打开方式!
java·高并发·java面试·java面试题·后端开发·java编程·java八股文
chao1898445 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
沪漂阿龙5 小时前
AI大模型面试题:支持向量机是什么?间隔最大化、软间隔、核函数、LinearSVC 全面拆解
人工智能·算法·支持向量机
難釋懷5 小时前
Redis数据结构-Set结构
数据结构·redis·bootstrap
JAVA面经实录9175 小时前
Java初级最终完整版学习路线图
java·spring·eclipse·maven
little~钰6 小时前
倍增算法和ST表
算法
Cat_Rocky6 小时前
k8s-持久化存储,粗浅学习
java·学习·kubernetes
知识领航员6 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
薛定e的猫咪7 小时前
因果推理研究方向综述笔记
人工智能·笔记·深度学习·算法
释怀°Believe7 小时前
Spring解析
java·后端·spring