Q:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
T:
注意空的情况和k过大的情况。
1.直接排序输入。
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
vector<int> result;
if (input.empty())
return result;
sort(input.begin(), input.end(), [](const int &a, const int &b) { return a < b; });
if (k > input.size())
return result;
for (int i = 0; i < k; i++)
result.push_back(input[i]);
return result;
}
2.其他排序方法看:https://www.cnblogs.com/xym4869/p/8666860.html
原文:https://www.cnblogs.com/xym4869/p/12304299.html