Design a data structure to find median from data stream.
Sample Input:
["MedianFinder","addNum","addNum","findMedian","addNum","findMedian"], [[],[1],[2],[],[3],[]]
Sample Output:
[null,null,null,1.5,null,2.0]
Hints
Hint 1
Use two heaps: max-heap for lower half, min-heap for upper half
Hint 2
Balance heaps to maintain size difference at most 1
Hint 3
Median depends on total count being odd or even