1. 程式人生 > >LeetCode - Find Median from Data Steam

LeetCode - Find Median from Data Steam

class MedianFinder {
public:
    /** initialize your data structure here. */
    MedianFinder() {
        
    }
    
    void addNum(int num) {
        small.push(num);
        large.push(-small.top());
        small.pop();
        if(small.size()<large.size()){
            small.push(-large.top());
            large.pop();
        }
    }
    
    double findMedian() {
        return small.size()>large.size()?small.top():0.5*(small.top()-large.top());
    }
private:
    priority_queue<long> small, large;
};