【剑斩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;
};
相关推荐
Chen—LSN7 分钟前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#
程序员yu28 分钟前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法
2601_967212721 小时前
国际品质电源轨道系统供应商技术评估维度
大数据·网络·经验分享
Allen_LVyingbo1 小时前
信息化部门在AI时代的编程转移路径分析(上)
人工智能·python·算法·健康医疗·数据库开发·时序数据库·数据库架构
七牛云行业应用1 小时前
Jev 报 401 / api_key_required 怎么解决:TypeSafe AI 官方错误码表与排查步骤
算法·github
acrel71 小时前
化工企业能源管理体系下智能化技术实践与探索
网络·人工智能
晴天的雨.9922 小时前
【C++算法】三数之和
开发语言·c++·算法
尹人入圣2 小时前
市面上靠谱的IP驱动产业新场景新工具哪个好
网络·python·网络协议·tcp/ip
2301_802651082 小时前
网络编程:UDP协议
网络·网络协议·udp
码完就睡2 小时前
Linux——socket网络编程
linux·运维·网络