最小的K个数

题目描述

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
 
 1 class Solution {
 2 public:
 3     vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
 4         vector<int> result;
 5         if(input.size() == 0 || k > input.size())
 6             return result;
 7         std::priority_queue<int,vector<int> ,greater<int> > pq;
 8         int len = input.size();
 9         for (int i = 0; i < len ; ++i)
10         {
11             pq.push(input[i]);
12         }
13         for (int i = 0 ;i < k ; ++i)
14         {
15             result.push_back(pq.top());
16             pq.pop();
17         }
18         return result;
19     }
20 };
原文地址:https://www.cnblogs.com/xiaoyesoso/p/5158061.html