Median of unsorted array min heap : special case of K-th largest/smallest of unsorted array. 123456789101112131415161718 int (vector<int>& array){ int mid = array.size() / 2 + 1; priority_queue<int, vector<int>, greater<int>> pq; for(int num : array){ pq.push(num); if(pq.size() > mid){ pq.pop(); } } int res; if(array.size() % 2 == 0){ res = pq.top(); pq.pop(); res = (res + pq.top()) / 2; pq.pop(); } else { res = pq.top(); } return res;} 赞微海报分享
近期评论