【剑斩OFFER】算法的暴力美学——LeetCode 703 题:数据流中的第 K 大元素

一、题目描述

二、算法原理

思路:维护 k 个节点的小根堆

例如:

三、代码实现

cpp 复制代码
class KthLargest {
public:
    KthLargest(int k, vector<int>& nums) {
        _k = k;
        for(auto& e : nums)
        {
            minI.push(e);
            if(minI.size() > k) minI.pop();//维护 k 个节点的堆
        }
    }
    
    int add(int val) {
        minI.push(val);
        if(minI.size() > _k) minI.pop();
        if(minI.size() < _k) return 0;//没有第 k 大的值
        return minI.top();
    }
private:
    int _k;
    priority_queue<int,vector<int>,greater<int>> minI;
};
相关推荐
2401_8685347811 小时前
NFV:将安全设备部署到虚拟机上
网络
xieliyu.11 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
zhengfei61111 小时前
【渗透工具】Payloader — 渗透测试辅助平台(payload一键所有)
网络·安全·web安全
一条小锦吕*12 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
鼎讯信通12 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
如竟没有火炬13 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
Multipath71213 小时前
无人区不掉线:多链路聚合路由,为环塔拉力赛筑起“空中通讯走廊”
网络·5g·安全·无人机·实时音视频
8Qi814 小时前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术14 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构