6
public MedianFinder() {7
maxHeap = new PriorityQueue<Integer>((a, b) -> b - a);8
minHeap = new PriorityQueue<Integer>();11
public void addNum(int num) {14
if (maxHeap.isEmpty() || ((int) maxHeap.peek() > num)) {21
if (maxHeap.size() > minHeap.size() + 1) {22
minHeap.offer(maxHeap.peek());24
} else if (minHeap.size() > maxHeap.size() + 1) {25
maxHeap.offer(minHeap.peek());30
public double findMedian() {33
if (maxHeap.size() == minHeap.size()) { // Even Number34
return ((int) maxHeap.peek() + (int) minHeap.peek()) / 2.0;35
} else { // Odd Number36
if (maxHeap.size() > minHeap.size()) {37
return (int) maxHeap.peek() + 0.0;38
} else { // minHeap.size() > maxHeap.size()39
return (int) minHeap.peek() + 0.0;