题解 | 查找第K小数

#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    while(cin>>n){
        priority_queue<int,vector<int>,greater<int>>q;
        set<int>x;
        for(int i=0;i<n;i++){
            int a;
            cin>>a;
            x.insert(a);
        }
        for(auto a:x){
            q.push(a);
        }
        int k;
        cin>>k;
        k--;
        while(k--)q.pop();
        cout<<q.top()<<endl;
    }
}

可以不用set去重,我这里为了省事直接用set了,然后用一个优先队列,上面的参数可以不写,不写默认就是less的形式,可以下面的逻辑稍微改一下也能用

全部评论

相关推荐

02-08 15:53
门头沟学院 Java
CoderEcho:让公司知道便宜没好货
点赞 评论 收藏
分享
头像
02-26 13:58
门头沟学院 Java
北城_阿亮:把八股背一背,包装一下实习经历项目经历,要是有心思考证就考一考,然后把别人的项目爬到自己github上,包装到简历里,什么三个月?一个月!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务