题解 | #寻找第K大#

寻找第K大

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

import java.util.*;

public class Solution {
    public int findKth(int[] a, int n, int K) {
        // write code here
        Queue<Integer> priorityQueue = new PriorityQueue<>(K*2);

        for (int i : a) {
            if(priorityQueue.size()<K) {
                priorityQueue.add(i);
			// 取出根节点也就是最小的值
            }else if(i > priorityQueue.peek()) {
                priorityQueue.add(i);
                priorityQueue.poll();
            }
        }

        int x = priorityQueue.poll();
        return x;

    }
}

全部评论

相关推荐

Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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