【剑斩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;
};
相关推荐
LCMICRO-133108477466 分钟前
长芯微LD9689完全P2P替代AD9689,是一款双通道、14位、2.0 GSPS/2.6 GSPS模数转换器(ADC)
网络·单片机·嵌入式硬件·网络协议·fpga开发·硬件工程·高速adc
仰泳的熊猫2 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
无极低码5 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发6 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
superior tigre6 小时前
22 括号生成
算法·深度优先
努力也学不会java8 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
旖-旎8 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
ECT-OS-JiuHuaShan8 小时前
朱梁万有递归元定理,重构《易经》
算法·重构
05大叔9 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络