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

数据流中的中位数

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

import java.util.*;


public class Solution {
    PriorityQueue<Integer> queue1=new PriorityQueue(); //最小堆 保存大数
  PriorityQueue<Integer> queue2=new PriorityQueue<Integer>((o1,o2)->o2-o1); //最大堆保存小数
    public void Insert(Integer num) {
        if(queue1.size()==queue2.size()){
            queue2.add(num);
            queue1.add(queue2.poll());    
        }else{
            queue1.add(num);
            queue2.add(queue1.poll());
            
        }
    
    }

    public Double GetMedian() {
        if(queue1.size()==queue2.size()){
             return  (double)(queue1.peek()+queue2.peek())/2;
        }else{
            return  (double)queue1.peek();
        }
        
    }


}

全部评论

相关推荐

这就是伊泽瑞尔:进什么厂,就是三方面决定,八股+项目可以进中小厂,要进大厂再刷刷算法。
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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