【剑斩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;
};
相关推荐
小O的算法实验室20 小时前
2026年ASOC,基于深度强化学习的无人机三维复杂环境分层自适应导航规划方法,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
为何创造硅基生物21 小时前
ESP32S3的RGB屏幕漂移问题
网络
好运的阿财21 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
郭涤生21 小时前
STL vector 扩容机制与自定义内存分配器设计分析
c++·算法
周杰伦fans21 小时前
C# required 关键字详解
开发语言·网络·c#
༾冬瓜大侠༿21 小时前
vector
c语言·开发语言·数据结构·c++·算法
洛水水21 小时前
深入理解网络编程核心:Reactor、IOCP 与异步 IO 模型详解
网络·iocp
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
汀、人工智能1 天前
[特殊字符] 第58课:两个正序数组的中位数
数据结构·算法·数据库架构··数据流·两个正序数组的中位数
liu****1 天前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯