#include <algorithm>
class Solution {
// 官解二
// 插入排序
public:
    vector<int> v;

    void Insert(int num) {

        if(v.empty())
        {
            v.push_back(num);
        }
        else {
            auto it = lower_bound(v.begin(), v.end(), num);

            v.insert(it, num); // 在不小于此元素的位置 插入
        }
        
    }

    double GetMedian() { 
        int n = v.size();
        if(n&1)
        {
            // 奇数
            return double(v[n>>1]);
        }
        else
        {
            return double((v[n>>1]+v[(n>>1) - 1])/2.);
        }
    
    }

};

但 进行插入排序的时间复杂度反而大了