【剑指offer】题30:最小的k个数
来源:互联网 发布:中国河北网络电视 编辑:程序博客网 时间:2024/06/12 15:10
vector<int> GetLeastNumbers_Solution(vector<int> input, int k){ assert(input.size() >= k); vector<int> my_heap; my_heap.insert(my_heap.begin(),input.begin(),input.begin()+k); make_heap(my_heap.begin(),my_heap.end()); for (auto i = k; i < input.size();++i) { if (my_heap[0]>input[i]) { pop_heap(my_heap.begin(), my_heap.end()); my_heap[k - 1] = input[i]; push_heap(my_heap.begin(), my_heap.end()); } } //sort_heap(my_heap.begin(), my_heap.end()); return my_heap;}
上述代码不知道为啥牛客网说段错误
改用优先队列实现:
vector<int> vec; if (input.size()<k) { return vec; } priority_queue<int> p; for (auto i = 0; i < input.size();++i) { p.push(input[i]); if (p.size()>k) { p.pop(); } } while (p.size()) { vec.push_back(p.top()); p.pop(); } return vec;
阅读全文
0 0
- 剑指offer-30:最小的k个数
- 剑指offer-30 最小的K个数
- 剑指offer 30 - 最小的k个数
- 剑指Offer-30-最小的k个数
- [剑指offer:30]最小的k个数
- 剑指offer 30 最小的k个数
- 剑指offer 30题 【时间效率】最小的K个数
- 【剑指offer】题30:最小的k个数
- 剑指offer:最小的k个数
- 【剑指offer】最小的k个数
- 最小的k个数(剑指offer)
- 剑指offer--最小的K个数
- 剑指Offer之 - 最小的k个数
- 剑指offer之最小的k个数
- 《剑指offer》最小的K个数
- 【剑指Offer】最小的K个数
- 剑指offer—最小的K个数
- 剑指offer:最小的K个数
- Java图片处理开源框架(01)
- Redis入门
- 王爽.汇编.第三版.课程设计1.答案
- Debug和Release编译方式的本质区别
- jquery如何让所有表单元素均为只读
- 【剑指offer】题30:最小的k个数
- JQuery Ui 实例 W3Cschool
- Hive自定义UDF的JAR包加入运行环境的方法
- 软件工程课程设计问题总结——医院门诊系统(四):后台获取下拉列表的值并在页面中显示
- 单链表成环问题
- Docker镜像导出、导入
- mysql 5.7 安装及修改/重置密码
- 从谷歌官方示例谈MVP设计模式
- Android 检测辅助功能是否开启,并调整设置页面