本文主要是介绍Leetcode—1235. 规划兼职工作【困难】(upper_bound、自定义排序规则),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2024每日刷题(125)
Leetcode—1235. 规划兼职工作
算法思想
实现代码
class Solution {
public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n = startTime.size();vector<array<int, 3>> jobs(n);for(int i = 0; i < n; i++) {jobs[i] = {endTime[i], startTime[i], profit[i]};}ranges::sort(jobs, [](auto &a, auto &b) {return a[0] < b[0];});vector<int> f(n + 1);for(int i = 0; i < n; i++) {int j = upper_bound(jobs.begin(), jobs.begin() + i, array<int, 3>{jobs[i][1], INT_MAX, 0}) - jobs.begin();f[i + 1] = max(f[i], f[j] + jobs[i][2]);}return f[n];}
};
运行结果
upper_bound
自定义排序规则
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!
这篇关于Leetcode—1235. 规划兼职工作【困难】(upper_bound、自定义排序规则)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!