题目
    题解

    1. class Solution {
    2. public:
    3. priority_queue<int, vector<int>, greater<int>> minHeap;
    4. priority_queue<int> maxHeap;
    5. int count = 0;
    6. void Insert(int num) {
    7. count += 1;
    8. maxHeap.push(num);
    9. minHeap.push(maxHeap.top());
    10. maxHeap.pop();
    11. if (count & 1) {
    12. maxHeap.push(minHeap.top());
    13. minHeap.pop();
    14. }
    15. }
    16. double GetMedian() {
    17. if (count & 1) {
    18. return maxHeap.top() ;
    19. } else {
    20. return (maxHeap.top() + minHeap.top()) * 1.0 / 2;
    21. }
    22. }
    23. };