剑指offer 数据流中的中位数

数据流中的中位数

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

参考别人的代码:

import java.util.PriorityQueue;

public class Solution {

    PriorityQueue<Integer> min=new PriorityQueue<>();
    PriorityQueue<Integer> max=new PriorityQueue<>((a,b)->b-a);

    public void Insert(Integer num) {
        max.add(num);
        min.add(max.remove());
        if (min.size()>max.size())
            max.add(min.remove());
    }

    public Double GetMedian() {
        if (min.size() == max.size()){
            return (max.peek()+min.peek())/2.0;
        } else{
            return(double)max.peek();
        }
    }

}
全部评论

相关推荐

每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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