//输入n个整数,输出其中最小的k个
/*思路:把输入的n个整数排序,排在最前面的k个数就是最小的k个数。时间复杂度为O(nlogn)*/
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//bool cmp(int &a, int &b)
//{
// return a < b;
//}
int main()
{
int n,k;
cin >> n;
cin >> k;
vector <int> array;
for (int i = 0; i < n;i++)
{
int m;
cin >> m;
array.push_back(m);
}
sort(array.begin(),array.end());//sort默认就是升序(从小到大),不用重载cmp
for (int i = 0; i < k;i++)
{
cout << array[i];
if (i == k - 1) //注意最后一个数输出后不能有空格
{
cout << endl;
continue;
}
cout << ' ';
}
return 0;
}
华为OJ题目(二十一):输入n个整数,输出其中最小的k个
最新推荐文章于 2024-01-05 11:44:20 发布