关注
交集那道最优算法是多少,我答了m+n的,不会是二分吧
查看原帖
点赞 5
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客35817196号:贪心
可以通过有限次的分组和重排,使得书籍编号有序。
首先,需要将书籍按照编号从小到大排序,同时记录每本书原来的位置。
排序后,遍历排序后的数组,检查相邻两本书的原始位置是否连续。如果不连续,说明这里必须要进行一次分组。
统计需要分组的次数,如果这个次数不超过给定的 ,那么就可以实现目标。
#include <iostream>
(30316)#include <vector>
#include <algorithm>
using namespace std;
void solve() {
int n, k;
cin >> n >> k;
vector<pair<long long, int>> books(n);
for (int i = 0; i < n; i++) {
cin >> books[i].first;
books[i].second = i;
}
// 按编号排序
sort(books.begin(), books.end());
int groups = 1;
for (int i = 1; i < n; i++) {
// 如果相邻两本书的原始位置不连续,需要增加一个分组
if (books[i].second - books[i-1].second != 1) {
groups++;
}
}
// 如果需要的分组数不超过k,则可以实现目标
cout << (groups <= k ? "True" : "False") << endl;
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
331649次浏览 3135人参与
# 上班苦还是上学苦呢? #
73582次浏览 656人参与
# 阿里云管培生offer #
37334次浏览 424人参与
# 地方国企笔面经互助 #
4574次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
22064次浏览 415人参与
# 选完offer后,你后悔学本专业吗 #
22072次浏览 159人参与
# 百度开奖 #
185979次浏览 1166人参与
# 我的实习求职记录 #
6072893次浏览 83555人参与
# 如何一边实习一边秋招 #
997311次浏览 12669人参与
# 找工作时遇到的神仙HR #
553792次浏览 3803人参与
# 入职第一天,你准备什么时候下班 #
21680次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10826次浏览 277人参与
# bilibili求职进展汇总 #
33356次浏览 357人参与
# 许愿池 #
214943次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54120次浏览 424人参与
# 你今年的平均薪资是多少? #
71098次浏览 345人参与
# 实习工作,你找得还顺利吗? #
248055次浏览 2913人参与
# 通信硬件薪资爆料 #
609771次浏览 5198人参与
# 海康威视求职进展汇总 #
400966次浏览 3408人参与
# 携程求职进展汇总 #
135944次浏览 932人参与
# 正在实习的你,几点下班 #
53455次浏览 396人参与
# 工作两年想退休了 #
53155次浏览 673人参与