题解 | #最小的k个数#
最小的K个数
http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf
class Solution { public: //priority_queue 实现堆排序 push pop vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> ret; if(k==0) return ret; priority_queue<int,vector<int>,less<int>> pq; for(int i=0;i<input.size();i++) { if(i<k) { pq.push(input[i]); }else{ if(input[i]<pq.top()) { pq.pop(); pq.push(input[i]); } } } while(!pq.empty()) { ret.push_back(pq.top()); pq.pop(); } return ret; } };