华为oj 输入n个整数,输出其中最小的k个

来源:互联网 发布:普通话软件 编辑:程序博客网 时间:2024/06/02 04:14

没有难度,但是请注意输出格式!

#include <iostream>#include<vector>#include<algorithm>using namespace std;int main(){int m, n, i, b;vector<int>a;cin >> m >> n;for (i = 0; i<m; i++){cin >> b;a.push_back(b);}sort(a.begin(), a.end());for (i = 0; i<n - 1; i++)cout << a[i] << ' ';cout << a[i] << endl;}
结论:这道题时间复杂度最小的解法是维护一个含有k个元素的大根堆,遇到比堆顶小的元素才重新调整!!!

0 0
原创粉丝点击