题解 | #寻找第K大#

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

第K大数,用小顶堆实现,堆中的其他元素都大于堆顶元素。

class Solution {
public:
    int findKth(vector<int> a, int n, int K) {
        priority_queue<int,vector<int>,greater<int>> min_heap{};
        for(int i=0;i<K;i++) min_heap.push(a[i]);
        for(int i=K;i<n;i++){
            if(a[i]>min_heap.top()){
                min_heap.pop();
                min_heap.push(a[i]);
            }
        }
        return min_heap.top();
    }
};
全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务