题解 | #查找第K小数#

查找第K小数

https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd

#include <cstdio>
#include <iostream>
#include <string>
#include <queue>

using namespace std;

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        priority_queue<int,vector<int>,greater<int>> myPriorityQueue;
        while(n--){
            int x;
            scanf("%d",&x);
            myPriorityQueue.push(x);
        }
        int order;
        scanf("%d",&order);
        int answer=-1;
        while(!myPriorityQueue.empty() && order>0){
            int x=myPriorityQueue.top();
            myPriorityQueue.pop();
            if(x==answer){
                continue;
            }
            order--;
            answer=x;
        }
        printf("%d\n",answer);
    }
    return 0;
}

全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
09-01 21:40
已编辑
同济大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务