题解 | #查找第K小数#

查找第K小数

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

#include <iostream>
#include <queue>

using namespace std;
int main(){
    int n,k;
    while (cin>>n){
        priority_queue<int,vector<int>,greater<int>> myQueue;
        int num;
        for (int i = 0; i < n; ++i) {
            cin>>num;
            myQueue.push(num);
        }
        cin>>k;
        while (--k){//由于要寻找第k小的数,所以将前面k-1小的数都弹出
            num = myQueue.top();
            while (myQueue.top()==num)
                myQueue.pop();
        }
        cout<<myQueue.top()<<endl;
    }
}

全部评论

相关推荐

10-16 22:56
门头沟学院 C++
1234567800:歌尔今年给211开14-15k吗,我本地人连面试都不给😂
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
评论
3
收藏
分享
牛客网
牛客企业服务