美文网首页
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