从n个数中,找出最小的k个数
来源:互联网 发布:五级三阶制算法 编辑:程序博客网 时间:2024/05/21 03:28
从n个数中,找出最小的k个数
set,multiset是基于红黑树排列的,.begin()是最小值。
在头文件中加入functional.
void FindNums(const vector<int> &data, multiset<int, greater<int>> &m, int k){ if (k < 1) throw "error"; if (k>data.size()) return; auto iter = data.cbegin(); for (; iter != data.cend(); ++iter) { if (k >m.size()) m.insert(*iter);//插入 else { auto greaterNum = m.begin();//基于红黑树的最大到小排 if (*iter < *greaterNum) { m.erase(greaterNum); m.insert(*iter); } } } }
0 0
- 从n个数中,找出最小的k个数
- 找出n个数中最小的k个数
- n 个数中最小的 k 个数
- 使用二分法从数组中找出最小的k个数
- 从海量数据中找出最小的k个数
- 输入n个数,找出最小的k个数
- 找出N个数中最小的K个数(最小时间空间复杂度)
- 找出N个数中最小的k个数问题(复杂度O(N*logk))
- 找出数组中最小的 K 个数
- N个数中找出最大的K个数
- 找出最小的k个数
- 从N个数中选最小的K个数
- 输入n个整数,找出最小的k个数
- 输入n个整数,找出其中最小的k个数
- 输入n个整数,找出其中最小的K个数
- 输入n个整数,找出其中最小的K个数
- 大顶堆,n个数中找最小的k个数
- 求n个数中最小的K个数。
- php基础-运算符总结
- 升级gcc/d++ 让Linux支持c++11
- Java最基本的学习
- AbstractQueuedSynchronizer
- 多线程写mysql
- 从n个数中,找出最小的k个数
- java 小方法
- C++走向远洋——60(十四周阅读程序、STL中的简单容器和迭代器)
- matlab画频率直方图,支持颜色变换
- Topcoder SRM 636 Div2 B
- Apache DBCP连接池获取数据库连接慢的优化处理
- android ratingbar星星显示
- VS下boost使用记录
- Android面试题