最小的K个数
来源:互联网 发布:链路状态协议网络拓扑 编辑:程序博客网 时间:2024/06/06 06:39
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,
思路:堆。
class Solution {
public:// typedef multiset<int, greater<int> > intset;
//typedef multiset<int, greater<int >>::iterator it;
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
//声明
vector<int> res;
if(input.size()==0||input.size()<k||k<=0) return res;
multiset<int, greater<int> > intset;
// multiset<int, greater<int >>::iterator ;
vector<int>::iterator it=input.begin();
for(;it!=input.end();it++)
{
if(intset.size()<k)
{
intset.insert(*it);
}
else
{
multiset<int, greater<int> >::iterator iter=intset.begin();
if(*iter>*it)
{
intset.erase(iter);
intset.insert(*it);
}
}
}
multiset<int, greater<int> >::iterator iter1=intset.begin();
for(;iter1!=intset.end();iter1++)
res.push_back(*iter1);
return res;
}
};
阅读全文
0 0
- 最小的K个数
- 最小的K个数
- 最小的K个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的K个数
- 最小的k个数
- 最小的K个数
- 最小的K个数
- 最小的K个数
- 最小的K个数
- 最小的K个数
- 最小的k个数
- 最小的k个数
- 解决Android Studio提示文档悬浮窗一直显示不出来的问题
- Vim第一级——存活
- Java基础方面陷阱
- 查看网页代码,禁用右键、F12查看
- ArcGIS API for JavaScript(4.x)+EasyUI——图层控制
- 最小的K个数
- 代理服务器与NAT
- 简单LinuxC程序关于报数问题
- C++中“引用”的底层实现
- Android 输入法与聊天表情之间切换 edittext悬浮输入法之上
- day_04 Linux下有关增删查改的Shell命令
- 又是权限的问题啊啊啊!------远程定位一个与我不相关的问题
- java学习之路(2)-java的基本元素
- VLC android 3.0解码器使用及移植TV项目调研