关注
#include<iostream>
#include<vector>
using namespace std;
int Partition11(vector<int> &data, int start, int end);
int KLeastNumbers(vector<int> &data,int k);
int main()
{
vector<int> a;
int m;
int k;
while (cin >> m)
{
a.push_back(m);
if (cin.get() == '\n')
break;
}
cin >> k;
cout << KLeastNumbers(a, k);
return 0;
}
int KLeastNumbers(vector<int> &data, int k)
{
if (data.size()==0|| k <= 0) return -1;
int len = data.size();
int index = Partition11(data, 0, len - 1);
while (index != k - 1)
{
if (index > k - 1) index = Partition11(data, 0, index - 1);
if (index < k - 1) index = Partition11(data, index + 1, len - 1);
}
return data[index];
}
int Partition11(vector<int> &data, int start, int end)
{
int index = data[start];
int i = start + 1;
int j = end;
while (true)
{
while (data[i] > index)
{
i++;
if (i == end) break;
}
while (index >= data[j])
{
j--;
if (j == start) break;
}
if (i >= j) break;
swap(data[i], data[j]);
}
swap(data[start], data[j]);
return j;
}
查看原帖
点赞 1
相关推荐
02-18 15:24
厦门大学 注塑工程师 点赞 评论 收藏
分享
01-08 00:38
杭州电子科技大学 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试被问第一学历差时该怎么回答 #
97978次浏览 615人参与
# 你见过最离谱的招聘要求是什么? #
151869次浏览 951人参与
# 水滴春招 #
37865次浏览 598人参与
# 你的房租占工资的比例是多少? #
18103次浏览 223人参与
# 你想留在一线还是回老家? #
17573次浏览 284人参与
# 听劝,这个简历怎么改 #
24957次浏览 320人参与
# 顺丰求职进展汇总 #
41878次浏览 252人参与
# 互联网行业现在还值得去吗 #
2693次浏览 23人参与
# 嵌入式岗知多少 #
24297次浏览 289人参与
# 2025,我想...... #
28494次浏览 309人参与
# 机械人的offer怎么选 #
119685次浏览 629人参与
# 大学最后一个寒假,我想…… #
18604次浏览 205人参与
# 面试被问“你的缺点是什么?”怎么答 #
15532次浏览 286人参与
# 第一份工作应该选高薪还是热爱? #
11602次浏览 122人参与
# 机械人,你在招聘流程中的企业有哪些? #
21788次浏览 205人参与
# 入职第四天,心情怎么样 #
13644次浏览 110人参与
# 招银网络科技工作体验 #
16045次浏览 81人参与
# 牛友投递互助,不漏校招机会 #
233127次浏览 3245人参与
# 0offer是寒冬太冷还是我太菜 #
1044556次浏览 8694人参与
# 租房找室友 #
8875次浏览 57人参与
# 大城市找工作会更容易吗 #
5795次浏览 31人参与