class MedianFinder {public:// 最大堆,存储左边一半的数据,堆顶为最大值priority_queue<int, vector<int>, less<int>> maxHeap;// 最小堆, 存储右边一半的数据,堆顶为最小值priority_queue<int, vector<int>, greater<int>> minHeap;/** initialize your data structure here. */MedianFinder() {}// 维持堆数据平衡,并保证左边堆的最大值小于或等于右边堆的最小值void addNum(int num) {/** 当两堆的数据个数相等时候,左边堆添加元素。* 采用的方法不是直接将数据插入左边堆,而是将数据先插入右边堆,算法调整后* 将堆顶的数据插入到左边堆,这样保证左边堆插入的元素始终是右边堆的最小值。* 同理左边数据多,往右边堆添加数据的时候,先将数据放入左边堆,选出最大值放到右边堆中。*/if (maxHeap.size() == minHeap.size()) {minHeap.push(num);int top = minHeap.top();minHeap.pop();maxHeap.push(top);} else {maxHeap.push(num);int top = maxHeap.top();maxHeap.pop();minHeap.push(top);}}double findMedian() {if (maxHeap.size() == minHeap.size()) {return (maxHeap.top()+minHeap.top())*1.0/2;} else {return maxHeap.top()*1.0;}}
};

这个为转载

https://leetcode-cn.com/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/solution/mian-shi-ti-41-shu-ju-liu-zhong-de-zhong-wei-shu-y/

2021-08-21Leetcode295.数据流的中位数相关推荐

  1. 一道简约而不简单的算法题——数据流的中位数 | 附动画解析

    作者 | 程序员小吴 转载自微信公众号(ID:CXYxiaowu) 题目来源于 LeetCode 上第 295 号问题:数据流的中位数.难度级别为 Hard,目前通过率为 33.5% . 题目描述 中 ...

  2. 295. 数据流的中位数

    295. 数据流的中位数 欢迎大家参加每日一题系列并提供其他版本,在你也可以按照相同格式提供你的最新的每日一题题解. 每日一题系列 题目描述: 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是 ...

  3. 堆实战(动态数据流求top k大元素,动态数据流求中位数)

    动态数据集合中求top k大元素 第1大,第2大 ...第k大 k是这群体里最小的所以要建立个小顶堆 只需要维护一个大小为k的小顶堆 即可当来的元素(newCome)> 堆顶元素(smallTo ...

  4. Leetcode 295. 数据流的中位数

    1.题目要求 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个 ...

  5. LeetCode 295. 数据流的中位数 Hard难度

    295. 数据流的中位数 题目: 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 ...

  6. 2021.08.09【普及组】模拟赛C组比赛总结

    文章目录 2021.08.09[普及组]模拟赛C组比赛总结 写在前面: T1 :[普及模拟]生产武器 题目大意: 正解: T2 :[普及模拟]城市连接 题目大意: 正解: T3 :[普及模拟]抢救文件 ...

  7. 《安富莱嵌入式周报》第227期:2021.08.23--2021.08.29

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...

  8. 纯Go实现的Firebase的替代品 | Gopher Daily (2021.08.11) ʕ◔ϖ◔ʔ

    每日一谚:Global variables should have longer names. Go技术生态 如何才能成功将Python切换到Go - https://itnext.io/opinio ...

  9. [LeetCode][C++]数据流的中位数

    数据流的中位数 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一 ...

  10. GNSS数据下载网站整理,包括gamit、bernese更新文件地址[2021.08更新]

    本人博客园同名原创文章,展示到CSDN供大家参考,转载请声明地址:https://www.cnblogs.com/ydh2017/p/6474654.html 从事GNSS研究的小伙伴大都离不开GNS ...

最新文章

  1. 调用webservice查询手机号码归属地信息
  2. Sicily 1155. Can I Post the lette
  3. Python中什么是set
  4. 05 | 服务编排层:Pipeline 如何协调各类 Handler ?
  5. C#中引用第三方ocx控件引发的问题以及解决办法
  6. 使用mysql innodb 使用5.7的json类型遇到的坑和解决办法
  7. 实操教程|使用计算机视觉的方法在钢铁平面上检测焊接缺陷
  8. 如果从零开始开发一款APP,需要做哪些准备
  9. Atitit 算法原理与导论 目录 1. Attilax总结的有用算法 按用途分类 1 1.1. 排序算法 字符串匹配(String Matching) 1 1.2. 加密算法 编码算法 序列
  10. Selenium分布式运行:SeleniumGrid
  11. 揭秘360手机助手未经用户同意,自动开启辅助的“黑科技”
  12. 信息学奥赛一本通(C++版)在线评测系统 1887:【15NOIP提高组】神奇的幻方
  13. 天翎开源,是一种技术,更是一种信仰
  14. 游戏服务器背包系统,Unity MMORPG 背包系统如何设计
  15. 光栅渲染器(六)着色准备和深度缓存实现
  16. Hexo-Theme-Buer主题修改介绍
  17. javaScript解决浏览器兼容问题,判断浏览器是ie或者Chrome
  18. kvm虚拟机添加串口
  19. ES20-JAVA API 词项搜索
  20. 昆仑天工AIGC——基于Stable Diffusion的多语言AI作画大模型测评

热门文章

  1. websocket安全分析
  2. mysql 8.0 解决报错Public Key Retrieval is not allowed
  3. QT练手小项目-——天气播报小狗(ui展示分析,构造实现,json格式数据分析,界面交互,天气图标处理,小狗语音)
  4. 单例模式-三种实现【延迟实例化、急切实例化、内部类】
  5. 12月3日智慧健康研讨会报名开启!英特尔中国研究院、联想研究院赋能中心以及TQ集团Franka三方专家聚焦智慧健康领域
  6. 随机产生单词然后判别其是否是真正的(可拼写的)单词:)
  7. 你应该知道的一个PyTorch小技巧
  8. IOS学习之道:使用UIButton纯手工打造的黑白快小游戏.
  9. Gridea 配置Gitalk 的异常:Error Bad credentials 和 Error Not Found
  10. JS textarea多行文本框内容 换行