当前位置: 首页 > news >正文

【leetcode hot 100 215】数组中的第K个最大元素

解法一:维护最大最小值 -> 堆 -> k个元素的最小值堆

class Solution {
    public int findKthLargest(int[] nums, int k) {
        // 维护最大最小值 -> 堆 -> k个元素的最小值堆
        PriorityQueue<Integer> heap = new PriorityQueue<>((n1, n2) -> n1 - n2);

        for (int i = 0; i < nums.length; i++) {
            heap.offer(nums[i]);
            if (heap.size() > k) {
                // 维护k个元素的最小值堆
                heap.poll();
            }
        }

        return heap.peek();
    }
}

注意:

  • 当堆元素个数大于k时,要剔除元素:heap.poll()

相关文章:

  • kubeadm部署k8s-1.32版本集群(1个master,1个worker)
  • PX4飞控-接收MAVLINK消息(2)-生成MAVLINK_MSG_ID_***.h文件
  • QEMU源码全解析 —— 块设备虚拟化(10)
  • [笔记] 系统分析师 第二章 经济管理与应用数学 (未完待续)
  • Linux系统离线安装ollama【详细版】
  • <command-line>:0:1: error: macro names must be identifiers m
  • 2000-2019年各省地方财政行政事业性收费收入数据
  • 【数据采集】技术对比:PCIe、PXIe、PCI、PXI、网口与USB
  • 线上分享会 如何用deepseek和豆包等AI平台获客?
  • 基于SSM+Vue物流信息管理系统(附源码)
  • 信竞资讯
  • MacOS 15 无法打开Docker问题(Malware Blocked)解决
  • 机器人SDF模型写法官方例子
  • csp信奥赛C++常用的数学函数详解
  • UPDclient server
  • 使用 Go 和 Gin 实现高可用负载均衡代理服务器
  • 夯实 kafka 系列|第五章:基于 kafka 分布式事件框架 eval-event
  • Java通信
  • JS—深拷贝与浅拷贝:2分钟掌握二者的区别
  • Axure RP设计软件中的各种函数:包括数字、数学、字符串、时间及中继器函数,详细解释了各函数的用途、参数及其应用场景。
  • 祝贺!苏翊鸣成功解锁“2160”
  • 云南省安委会办公室:大理州安全生产形势比较严峻,事故总量一直居高不下
  • 中国科协发声:屡禁不止的奇葩论文再次敲响学风建设警钟
  • 国家主席习近平同普京总统共见记者
  • 顾家家居:拟定增募资近20亿元,用于家居产品生产线的改造和扩建等
  • 国家主席习近平同普京总统举行大范围会谈