剑指offer — 数据流中的中位数
来源:互联网 发布:磁力解析软件 编辑:程序博客网 时间:2024/05/17 23:29
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值
使用两个heap的方法进行处理
java
import java.util.Collections;import java.util.PriorityQueue;import java.util.Queue;public class Solution {Queue<Integer> minHeap = new PriorityQueue<>(); Queue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder()); public void Insert(Integer num) { maxHeap.offer(num); minHeap.offer(maxHeap.paoll()); if (maxHeap.size() < minHeap.size()) { maxHeap.offer(minHeap.poll()); } } public Double GetMedian() { double val = maxHeap.peek(); if (maxHeap.size() == minHeap.size()) { val = (maxHeap.peek() + minHeap.peek()) * 0.5; } return val; }}
阅读全文
0 0
- 剑指offer——数据流中的中位数
- 剑指offer—数据流中的中位数
- 剑指offer — 数据流中的中位数
- 剑指offer—数据流中的中位数
- 剑指offer--数据流中的中位数
- 《剑指offer》数据流中的中位数
- 剑指offer:数据流中的中位数
- 剑指offer-数据流中的中位数
- 剑指offer 数据流中的中位数
- 《剑指offer》数据流中的中位数
- 剑指Offer:数据流中的中位数
- 剑指offer-数据流中的中位数
- 剑指offer 数据流中的中位数
- 剑指offer(C++)——数据流中的中位数
- 剑指offer——64.数据流中的中位数
- 剑指offer 64-数据流中的中位数
- 剑指offer(六十三)之数据流中的中位数
- 《剑指offer》:[64]数据流中的中位数
- zufe17届程序设计竞赛总结
- 利用array_multisort()给二维数组排序
- EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别
- Java NIO
- 舵机S3010
- 剑指offer — 数据流中的中位数
- 正则表达式学习笔记
- 第一次机房收费系统-登录窗体
- zabbix导入模版_以nginx为例
- 2017年12月10日训练总结
- 12月7日
- 友盟分享和登录
- nginx实现请求的负载均衡 + keepalived实现nginx的高可用
- Servlet的生命周期和工作原理