首页 / 笔试真题
#
笔试真题
#62319次浏览 469人互动
此刻你想和大家分享什么
06-27 21:11
门头沟学院 Java 点赞 评论 收藏
分享
2023-09-23 16:04
北京工业大学 C++ 中国银行秋招笔试攻略来了-内附历年真题分享
热爱生活的小鲸鱼开挂...:拿到了抓紧看,感谢楼主 明天下午就要去考试了 慌得一批😅

点赞 评论 收藏
分享
07-02 22:21
中国科学技术大学 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
拼多多笔试好难 2024-10-13
牛客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;
}

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2023 拼多多笔试题 0312

点赞 评论 收藏
分享
点赞 评论 收藏
分享