10.15百度秋招笔试题目+解析

第一题:暴力或者优先队列,因为数据范围很小可以直接暴力枚举所有可能情况,或者每次取小根堆的最小值++,重复k次

第二题:dp,找出每个以每个点结尾的最大子段和以及以每个点为起点的最大子段和,那么枚举每个点和另一个与它间隔为k+1的点的最大子段和求一个max即可
#秋招##百度##笔试##校招#
全部评论
第二题一样的思路,但是只通过了64%,不知道哪里出了问题
3 回复 分享
发布于 2024-10-15 21:06 广东
#include <iostream> (30316)#include <vector> #include <algorithm> using namespace std; int main() { int T; cin >> T; while (T--) { int a, b, c, d, k; cin >> a >> b >> c >> d >> k; vector<int> numbers = {a, b, c, d}; // 进行k次操作 for (int i = 0; i < k; ++i) { // 找到列表中的最小数 auto min_iter = min_element(numbers.begin(), numbers.end()); // 将最小数加1 *min_iter += 1; } // 计算乘积 int product = 1; for (int num : numbers) { product *= num; } cout << product << endl; } return 0; }
1 回复 分享
发布于 2024-10-25 15:05 广东
为啥第一题我通过率只有9%
1 回复 分享
发布于 2024-10-15 21:25 广东
好像就咱算法的题最简单,选择编程感觉是秋招以来最简单的一家
1 回复 分享
发布于 2024-10-15 21:07 四川
大佬 第二题为什么只需要枚举间隔k+1就好啊
点赞 回复 分享
发布于 2024-10-16 01:04 北京
为啥我的有三道呀
点赞 回复 分享
发布于 2024-10-15 21:10 山东

相关推荐

牛客33727151号:不是哥们我以为驾照是段子呢
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务