题解 | #查找第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;
    }
}

全部评论

相关推荐

Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务