数据流中的中位数
来源:互联网 发布:华莱士 知乎 编辑:程序博客网 时间:2024/06/05 01:09
Description:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
import java.util.Comparator;import java.util.PriorityQueue;public class Solution { int count = 0; PriorityQueue<Integer> minHeap = new PriorityQueue<>(); PriorityQueue<Integer> maxHeap = new PriorityQueue<>(15, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); public void Insert(Integer num) { if (count % 2 == 0) { maxHeap.offer(num); int maxNum = maxHeap.poll(); minHeap.offer(maxNum); } else { minHeap.offer(num); int minNum = minHeap.poll(); maxHeap.offer(minNum); } count++; } public Double GetMedian() { if (count % 2 == 0) return new Double(minHeap.peek() + maxHeap.peek()) / 2; else return new Double(minHeap.peek()); }}
阅读全文
0 0
- 数据流中的中位数
- 数据流中的中位数
- 求数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 【63】数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- Q64:数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- 数据流中的中位数
- Linux基本命令大总结
- Android深度探索:HAL与驱动开发学习笔记--并发控制之顺序锁
- mysql5.7.19 winx64解压缩版安装配置教程
- 用类统计信息
- String源码分析
- 数据流中的中位数
- HashMap源码分析(一些博客收藏)
- web-滚动条事件,明确来说就是一些网站上的滚动条滚动到某一个位置才会出现你想看到的东西
- 2017秋招C++现场笔试
- FPGA在其他领域的应用(三)
- WebStorm配置微信小程序开发
- hdu4777 Rabbit Kingdom (离线处理、互斥)
- Spring集成Quartz---Executor框架
- (四)spring cloud云服务架构