题解 | #数据流中的中位数#

数据流中的中位数

http://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1

import java.util.*;
public class Solution {
    // 存放右边元素 如果是奇数时候 保证右边元素比左边元素多1 比如 12345  左边12 右边 345
    PriorityQueue<Integer> minHeap = new PriorityQueue<>();
    // 存放左边元素
    PriorityQueue<Integer> maxHeap = new PriorityQueue<>((a,b)->b-a);
    
    public void Insert(Integer num) {
        if(minHeap.isEmpty() || num > minHeap.peek()) {
            minHeap.add(num);
            if (minHeap.size() - maxHeap.size() >= 2) {
                maxHeap.add(minHeap.poll());
            }
        }else {
            maxHeap.add(num);
            if (maxHeap.si***Heap.size() >= 1) {
                minHeap.add(maxHeap.poll());
            }
        }
    
    }

    public Double GetMedian() {
        return minHeap.size() > maxHeap.size() ? (double)minHeap.peek() : (double)(minHeap.peek() + maxHeap.peek())/2;
        
    }


}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:33
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:03
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务