解题思路: 每次都排序,没意思。整点新玩意,有插入排序那个意思。
                Deque双端队列,既有队列的特性,又有栈的特性。

                res和tempDeque保存的数据始终有序,从高到底。

                每次从res队尾插一个元素,就与res中的队尾比较,

                    1.如果插入元素比队尾元素小,直接插入

                    2.如果插入元素比队尾元素大,将res队尾元素尾插到tempDeque中,继续走1.

                    3.插入完该元素后,将tempDeque中的元素从对头到队尾依次尾插到res中,res依然有序

注意事项:

参考代码:

import java.util.*;

/**
 * @author fzy
 * @create 2021/10/9 15:28
 **/
public class t2328 {
    static class Node{
        Integer no;
        Double score;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n = sc.nextInt();//n个学生
        int k = sc.nextInt();//第k名

        Deque<Node> res=new LinkedList<Node>();
        Deque<Node> tempDeque=new LinkedList<Node>();
        for (int i=0;i<n;i++){
            Node node = new Node();
            node.no=sc.nextInt();//学号
            node.score=sc.nextDouble();//成绩

            if(res.isEmpty()){
                res.offerLast(node);//队尾加入
            }else{
                while (true){
                    //查看队尾元素 如果队列无元素 返回null
                    Node lastNode = res.peekLast();
                    if(lastNode !=null && node.score>lastNode.score){
                        tempDeque.offerLast(res.pollLast());//弹出队尾元素 将其加入临时队列尾
                    }else{
                        res.offerLast(node);//队空时或当前插入结点小于res中尾结点时 直接加入尾部
                        break;
                    }
                }
                while (!tempDeque.isEmpty()){
                    res.offerLast(tempDeque.pollLast());
                }
            }
        }
        int count=0;
        for (Node re : res) {
            if(count==k-1){
                System.out.println(re.no+" "+re.score);
                break;
            }
            count++;
        }


    }
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论