当前位置: 首页 > 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()
http://www.dtcms.com/a/92374.html

相关文章:

  • 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设计软件中的各种函数:包括数字、数学、字符串、时间及中继器函数,详细解释了各函数的用途、参数及其应用场景。
  • MIPI(Mobile Industry Processor Interface)详解
  • ASP 应用HTTP.SYS短文件文件解析Access 注入数据库泄漏
  • [MySQL数据库] 索引详解
  • Leetcode12-整数转罗马数字
  • 使用ros_gz_bridge将gz topic转换成ros2 topic
  • 如何自动规整化(格式化)HTML
  • K8S学习之基础五十五:k8s中jenkins部署blueOcean
  • 每日免费分享之精品wordpress主题系列~DAY16
  • K8S安装及部署calico(亲测有用[特殊字符])
  • 基于SpringBoot + Vue 的餐厅点餐管理系统