美文网首页
215. 数组中的第K个最大元素

215. 数组中的第K个最大元素

作者: 名字是乱打的 | 来源:发表于2021-11-10 10:41 被阅读0次

题目:

思路:

维护一个小根堆,把元素添进去,只要堆大小超过了k值,我们就进行出堆,这样留在最后的就是k个最大数据,其中堆顶就是目前k个最大数据的最小值即我们求的数组中第 k 个最大的元素。

代码:

public int findKthLargest(int[] nums, int k) {
        final PriorityQueue<Integer> minHeap = new PriorityQueue<>();
        for (int i = 0; i < nums.length; i++) {
            minHeap.add(nums[i]);
            if (minHeap.size()>k){
                minHeap.poll();
            }
        }
        return minHeap.poll();
    }

相关文章

网友评论

      本文标题:215. 数组中的第K个最大元素

      本文链接:https://www.haomeiwen.com/subject/ovnrzltx.html