关注
#include <iostream>
(30316)#include <queue>
#include <vector>
using namespace std;
class Solution {
public:
vector<int> findKSmallest(vector<int>& nums, int k) {
// 定义一个大顶堆(使用priority_queue,默认是大顶堆)
priority_queue<int> max_heap;
for (int num : nums) {
if (max_heap.size() < k) {
max_heap.push(num);
}
else if (num < max_heap.top()) {
max_heap.pop();
max_heap.push(num);
}
}
vector<int> result;
while (!max_heap.empty()) {
result.push_back(max_heap.top());
max_heap.pop();
}
return result;
}
};
int main() {
vector<int> nums = {4, 2, 7, 1, 9, 3, 5};
int k = 3;
Solution solution;
vector<int> result = solution.findKSmallest(nums, k);
for (int num : result) {
cout << num << " ";
}
cout << endl;
return 0;
}
查看原帖
点赞 评论
相关推荐
查看5道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看15道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 为了去实习,我赌上了___ #
15162次浏览 160人参与
# 晒一晒你收到的礼盒 #
87517次浏览 427人参与
# uu们,春招你还来吗? #
7348次浏览 58人参与
# 2025年终总结 #
7686次浏览 143人参与
# 十二月请对我好一点 #
20599次浏览 289人参与
# 降低公积金和取消房补怎么选 #
22976次浏览 75人参与
# 父母对你找工作是助力还是阻力? #
10389次浏览 173人参与
# 实习打杂,要跑路吗 #
50486次浏览 320人参与
# 第一份工作能做外包吗? #
84766次浏览 568人参与
# 电信求职进展汇总 #
31088次浏览 166人参与
# 学历or实习经历,哪个更重要 #
200932次浏览 1059人参与
# 哪一瞬间让你觉得“这班不如不上” #
7868次浏览 117人参与
# 一人推荐一个值得做的项目 #
7212次浏览 103人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
7961次浏览 89人参与
# 工作前VS工作后,你的心态变化 #
10266次浏览 136人参与
# 找工作时的取与舍 #
110189次浏览 828人参与
# 工作中出现了XX情况正常吗 #
25878次浏览 196人参与
# 市场营销人求职交流聚集地 #
162659次浏览 1212人参与
# 公司福利里最没用的一项是啥 #
5372次浏览 86人参与
# 回顾今年你干过的最“勇”的一件事 #
10752次浏览 139人参与