中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。
- 例如
arr = [2,3,4]
的中位数是3
。 - 例如
arr = [2,3]
的中位数是(2 + 3) / 2 = 2.5
。
实现 MedianFinder 类:
MedianFinder()
初始化MedianFinder
对象。void addNum(int num)
将数据流中的整数num
添加到数据结构中。double findMedian()
返回到目前为止所有元素的中位数。与实际答案相差10-5
以内的答案将被接受。
class MedianFinder {// 最大值: 存取较小的一半(需要自定义比较器实现降序)private PriorityQueue<Integer> maxHeap;// 最小值:存储较大的一半(默认就是最小堆)private PriorityQueue<Integer> minHeap;public MedianFinder() {maxHeap = new PriorityQueue<>((a,b) -> b - a);minHeap = new PriorityQueue<>();}public void addNum(int num) {// 先放入最大堆(左边部分)maxHeap.offer(num);// 保证最大堆的堆顶 <= 最小堆的堆顶minHeap.offer(maxHeap.poll());// 保持平衡:如果最小堆元素更多,挪一个到最大堆if (minHeap.size() > maxHeap.size()) {maxHeap.offer(minHeap.poll());}}public double findMedian() {if (maxHeap.size() > minHeap.size()) {// 奇数个数字,最大堆多一个元素return maxHeap.peek();} else {// 偶数个数字,取两个堆顶平均值return (maxHeap.peek() + minHeap.peek()) / 2.0;}}
}/*** Your MedianFinder object will be instantiated and called as such:* MedianFinder obj = new MedianFinder();* obj.addNum(num);* double param_2 = obj.findMedian();*/
作者:万能包哥 出处:http://www.cnblogs.com/mybloger/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931814.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
用 Ada 实现英文数字验证码识别
一、引言
验证码(CAPTCHA)用于区分人类用户与自动化脚本程序,是现代网站和安全系统的重要组成部分。
常见验证码包含英文和数字字符,并带有随机噪声、扭曲、颜色干扰等元素。
更多内容访问ttocr.com或联系14364239…
找做网站做网站背景图片
在这篇文章中 创建API帮助页面将帮助页面添加到现有项目添加API文档在敞篷下下一步作者:Mike Wasson 创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用API。您可以手动创建所有文档,但最好尽可能自动生成。 为…
【sgImportBtn】自定义组件:导入按钮(支持上下文关联导出菜单,配置下载导入Excel模板按钮命令、样式、图标路径等) - 实践
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
WPS word 已有多级列表序号 - 指南
WPS word 已有多级列表序号 - 指南2025-10-08 18:17
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…
佳简几何工业设计有限公司一个新网站关键词怎么做SEO优化
开发的工作主要是写代码, 有考虑过使用代码写代码, 使用代码分析和改进代码吗? JavaParser 就可以帮你用来处理Java 代码的这些功能。
Java Parser 的介绍
Java Parser是一个用于解析和分析Java源代码的开源工具。它提供了一个API接口&…
HTML5实现简洁的端午节节日网站源码 - 实践
HTML5实现简洁的端午节节日网站源码 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…
Visio的图片,粘到word中显示不全,右边和下面显示不出来
在visio中画一个图如下: 粘贴在word中,右边和下边显示不出来.调整尺寸,还是显示不出来.如下.怎么解决呢?出现问题后,重启电脑,很神奇吧? 遇到多次了.反正就是这么解决的!
详细介绍:Spring 统一异常处理怎么做?
详细介绍:Spring 统一异常处理怎么做?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…
印度乡村AI计划:用JAN AI打造人工智能优先村庄
JAN AI计划在印度农村地区建立人工智能优先村庄,通过本地语言AI培训帮助农民诊断作物疾病、助力手工艺人线上销售,目标覆盖1万个村庄、培训1000万公民并培养10万名乡村AI创业者。印度乡村AI计划:用JAN AI打造人工智…
兼论spatial和simulink,PTX及其他
兼论spatial和simulink,PTX及其他从工匠(工程师)的角度看,并行计算的构造最直观的一种方式共享内存的构架,从计算上讲就是数据级并行,比如单指令多数据流SIMD。
这种构造可以是从应用层来看,也可以是底层的硬件实…
做门户网站需要什么条件wordpress侧边文本轮播图片
Part.1 背景
近年来,汽车行业蓬勃发展,一度出现供不应求的现象。在汽车零配件、整车大规模制造的过程中,为了降本增效,提升产品质量,工厂急需完成自动化升级。随着人工智能的发展,越来越多的生产环节引入机…
怎么做简单网站首页北京网站怎么优化
本次分享将讲述如何在Python中对多个list的对应元素求和,前提是每个list的长度一样。比如:a[1,2,3], b[2,3,4], c[3,4,5], 对a,b,c的对应元素求和,输出应为[6,9,12]. 方法一: 直接求解,按照对应元素相加的…
# Java方法学习:动手动脑与课后实验整理
这两周学了Java方法相关内容,攒了不少练习题和实验作业,整理成博客记录一下,也方便以后复习的时候回看~
一、动手动脑小练习自定义随机数生成器
之前一直用Math.random()或者Random类生成随机数,这次老师要求用指定…
CF2155D Batteries
给定 \(n\) 个电池,其中 \(a\) 个是有效的,但是你不知道 \(a\) 的值,每次你可以选择两个电池进行询问,可以得知他们两个是否都有效。
要求在 \(\left\lfloor\dfrac{n^2}{a}\right\rfloor\) 次询问内找出至少一对有…
网站搜索引擎优化建议学校专业群建设专题网站
到这里,我们需要整理一下之前学习的epoll模型,并根据之前的epoll模型,提出弊端,进而整理epoll反应堆模型,进一步深刻理解,这是因为epoll实在是太重要了。 复习之前的epoll的整体流程以及思路。
参考之前写…
网站怎么伪静态网站上线是前端还是后端来做
目录
1.CString数据转化为int类型数据
2.int类型转化为CString类型数据
3.MFC中CString数据类型 转换为std::string数据类型
4.MFC中std::string数据类型 转换为CString数据类型 1.CString数据转化为int类型数据
在MFC中,将CString类型数据转换为int类型数据&a…
电商门户网站最美情侣免费观看
Jvm垃圾回收器cms和g1区别
G1垃圾回收器(Garbage First)和CMS (Concurrent Mark-Sweep)垃圾回收器是Java虚拟机(JVM))中的两种不同的垃圾回收策略,它们各有优缺点。以下是两者的比较…