关注
#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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你不能接受的企业文化有哪些 #
763次浏览 16人参与
# 应届生第一份工作最好去大厂吗? #
122984次浏览 1081人参与
# 有深度的简历长什么样? #
494次浏览 12人参与
# 非技术er求职现状 #
126807次浏览 771人参与
# 26年哪些行业会变好/更差 #
212次浏览 9人参与
# 工作后会跟朋友渐行渐远吗 #
54632次浏览 398人参与
# CVTE工作体验 #
17169次浏览 39人参与
# 帆软软件工作体验 #
8470次浏览 34人参与
# 双非本科的出路是什么? #
191746次浏览 1514人参与
# 运营/市场/管培生岗位评价 #
28838次浏览 179人参与
# 小米求职进展汇总 #
997108次浏览 6498人参与
# 秋招想进国企该如何准备 #
119559次浏览 599人参与
# 百度工作体验 #
297628次浏览 2214人参与
# 搜狐工作体验 #
2803次浏览 22人参与
# 春招前还要继续实习吗? #
14144次浏览 152人参与
# 对2025年忏悔 #
11574次浏览 194人参与
# 秋招感动瞬间 #
111631次浏览 507人参与
# 每个月的工资都是怎么分配的? #
81883次浏览 666人参与
# 你实习是赚钱了还是亏钱了? #
97529次浏览 587人参与
# 我的上岸简历长这样 #
756491次浏览 11280人参与
