当前位置: 首页 > news >正文

【Hot 100】295. 数据流的中位数

目录

  • 引言
  • 数据流的中位数
    • 我的解题

请添加图片描述

  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:算法专栏
  • 💥 标题:【Hot 100】295. 数据流的中位数
  • ❣️ 寄语:书到用时方恨少,事非经过不知难!

引言

中位数的题目,在吉比特面试的时候遇到过,大量的数据如何快速查找中位数,而且还有频繁的插入和删除操作。

数据流的中位数

  • 🎈 题目链接:
  • 🎈 做题状态:

我的解题

class MedianFinder {
private:priority_queue<int, vector<int>, less<int>> queMin;priority_queue<int, vector<int>, greater<int>> queMax;public:MedianFinder() {}void addNum(int num) {if (queMin.empty() || num <= queMin.top()){// 如果queMin为空,或者当前数值小于queMin,则将数据插入到queMin中queMin.push(num);// 插入完数据后,还需要平衡两边的队列大小if (queMax.size() + 1 < queMin.size()){// 两边相差2个数据时,需要将多的转移到少的容器中queMax.push(queMin.top());queMin.pop();}} else{// 当前数据大于 queMin 中的最大值,需插入 queMax 中queMax.push(num);// 插入之后需要平衡,因为 queMin 的设定是大于等于 queMax 中元素个数if (queMax.size() > queMin.size()){queMin.push(queMax.top());queMax.pop();}}}double findMedian() {// 如果 queMin 个数大于 queMax,则中位数就是 queMin 的topif (queMin.size() > queMax.size()) return queMin.top();return (queMax.top() + queMin.top()) / 2.0;}
};
http://www.lqws.cn/news/201889.html

相关文章:

  • PyTorch 中contiguous函数使用详解和代码演示
  • Linux(14)——库的制作与原理
  • 华为云Flexus+DeepSeek征文 | 从零到一:用Flexus云服务打造低延迟联网搜索Agent
  • 为什么React列表项需要key?(React key)(稳定的唯一标识key有助于React虚拟DOM优化重绘大型列表)
  • Vue3中computed和watch的区别
  • CSS3 的特性
  • redis分布式锁
  • DAY 24 元组和OS模块
  • 机器学习期末复习
  • 【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
  • 16-Oracle 23 ai-JSON-Relational Duality-知识准备
  • Java并发编程之并发编程的调试与测试
  • 性能测试-jmeter实战2
  • 打卡第38天:早停策略和模型权重的保存
  • 企业微信授权登录(uniapp项目)
  • 数据通信与计算机网络——数据与信号
  • Nodejs工程化实践:构建高性能前后端交互系统
  • html如何在一张图片上的某一个区域做到点击事件
  • JUC并发编程(四)常见模式
  • 功能安全实战系列09-英飞凌TC3xx LBIST开发详解
  • keil 5打开编译keil 4解决方案,兼容exe查找下载
  • C++11 Token Bucket (令牌桶)算法的锁无实现及应用
  • Android座舱系统Agent改造方案
  • DeepSeek08-ollama使用
  • Linux编程:2、进程基础知识
  • MCP和A2A实战教程:构建智能客服系统
  • SQLMesh实战:用虚拟数据环境和自动化测试重新定义数据工程
  • 【K8S系列】Kubernetes 中 Pod(Java服务)启动缓慢的深度分析与解决方案
  • 文档极速转换器 - 免费批量Word转PDF工具
  • 【软件工具】批量OCR指定区域图片自动识别内容重命名软件使用教程及注意事项