原题题目


代码实现(首刷TLE 24/27)

class Solution {public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int size = startTime.size(),ret = -1;vector<vector<int>> temp;for(int i=0;i<size;++i)temp.push_back({startTime[i],endTime[i],profit[i]});vector<int> dp(size+1,0);sort(temp.begin(),temp.end(),[](const vector<int>& a,const vector<int>& b){ return a[1]<b[1];});for(int i=0;i<size;i++){dp[i] = profit[i];for(int j=0;j<i;j++){if(endTime[j] <= startTime[i])dp[i] = max(dp[i],dp[j]+profit[i]);else    break;}ret = max(dp[i],ret);}return ret;}
};

代码实现(二分加速给我绕晕了 cv别人的二分加速代码)

class Solution {public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n = startTime.size();vector<int> id(n);iota(id.begin(), id.end(), 0);// 生成序列 0,1,2,。。。sort(id.begin(), id.end(),[&](auto a, auto b){return endTime[a] < endTime[b];//按结束时间排序});map<int,int> dp;dp[0] = 0;//边界dp[endTime[id[0]]] = profit[id[0]];//第一个状态int ans = profit[id[0]];for(int i = 1; i < n; i++){int idx = id[i];//序号auto it = dp.upper_bound(startTime[idx]);//二分查找int dp_prev = (--it)->second;//上一个不冲突结束时间点的最大收益dp[endTime[idx]] = max(ans, max(dp[endTime[idx]], dp_prev+profit[idx]));ans = max(ans, dp[endTime[idx]]);}return ans;}
};

Leetcode 1235. 规划兼职工作(DAY 73) ---- 动态规划学习期(上午去上高数课了 课下老师说上次旷课不扣平时分嘻嘻)相关推荐

  1. LeetCode 1235. 规划兼职工作(动态规划+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 你打算利用空闲时间来做兼职工作赚些零花钱. 这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 ...

  2. LeetCode每日一题——1235. 规划兼职工作

    LeetCode每日一题系列 题目:1235. 规划兼职工作 难度:困难 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你打算利用空闲时间来做兼职工作赚些零花钱. 这里有 n ...

  3. 【1235. 规划兼职工作】

    来源:力扣(LeetCode) 链接:   你打算利用空闲时间来做兼职工作赚些零花钱.   这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 ...

  4. 动态规划-规划兼职工作

    动态规划-规划兼职工作 一.问题描述 你打算利用空闲时间来做兼职工作赚些零花钱.这里有 n 份兼职工作,每份工作预计从 startTime 开始到 endTime 结束,报酬为 profit.给你一份 ...

  5. 【LittleXi】规划兼职工作

    [LittleXi]规划兼职工作 题目链接 心路历程: 早上起来打开题目,一点思路没有 摆烂点开<戴森球>就到中午了,退出游戏,一眼线段树,直接秒了 总结:打游戏,也可以提高思维能力 解题 ...

  6. Leetcode 1218. 最长定差子序列(DAY 47) ---- 动态规划学习期(昨天又没有看书捏 懒狗biss)

    原题题目 代码实现(首刷自解超时

  7. 分享三个可以在家做的正规兼职工作,看到就是赚到

    你可以在家做正式的兼职工作.在线兼职工作值得考虑,时间相对自由.在线兼职收入可能不如线下滴滴和外卖立竿见影,但仍然可以坚持收入.有些人比工作工资发展得更高.当然,天上不会有馅饼,不劳无获. 那么有哪些 ...

  8. 2021-06-03 wms软件如何规划仓库管理工作?

    有一些仓库的人员管理.备件管理较为混乱,首先在人员管理方面没有形成一个管理体系,整个仓库人员角色还没有清晰,有时介于售后与仓库之间,工作职责不够明确,导致工作效率不高.其次在人员管理方面没有一个很好的 ...

  9. 用场景来规划测试工作

    姓名:吴发达 性别:男 特点: 新时代的产物:现代典型沙发男:想足不出户就解决无聊 年龄:20 爱好 漫画 在校学生 场景:该沙发男想在周末待在宿舍解决无聊问题,于是待在靠椅上,翘着二郎腿,点击鼠标, ...

  10. 26岁宝妈去汤臣倍健面试兼职工作

    26岁宝妈去汤臣倍健面试兼职工作,居然被嫌弃年龄偏大,太扎心了! 今天下午去汤臣倍健面试仓库文员,HR说需要有会计基础,不然盘点的时候会很吃力,另外加班强度很大,不适合我这样的哺乳期妈妈.看来我有必要 ...

最新文章

  1. PyTorch 笔记(20)— torchvision 的 datasets、transforms 数据预览和加载、模型搭建(torch.nn.Conv2d/MaxPool2d/Dropout)
  2. 整合shiro出现UnsatisfiedDependencyException,org.springframework.beans.factory.BeanNotOfRequiredTypeExcep
  3. boost::get_deleter相关的测试程序
  4. [LeetCode]Find Minimum in Rotated Sorted Array
  5. C语言目录操作 (Linux/Unix)
  6. 平稳序列的预测和拟合之模型识别
  7. 简述HTML5的概念和组成结构,JS相关概念
  8. java的main是主线程吗_main函数是主线程吗
  9. Hive 使用SQL统计出每个用户的累积访问次数
  10. java提高篇(二)-----理解java的三大特性之继承
  11. 现代控制理论(4)——李雅普诺夫稳定性理论
  12. 为什么html中图片显示不出来,网页图片不能显示 网页图片显示不出来的解决办法...
  13. vnc远程控制软件配置,vnc远程控制软件怎么配置,教程详解
  14. Goolgle Analytics
  15. 机器学习(十五)回归算法之线性回归
  16. 脑子笨的人可以学计算机吗,学理科吃力,我真的很笨吗
  17. 积分商城开发及小程序积分商城功能介绍
  18. 机器人砂型铸造_启东精密砂型铸造
  19. Apple’s ‘Big-A ’ Data Center
  20. 基于matlab电热水器模糊温度控制,基于Matlab的锅炉过热汽温模糊控制系统仿真

热门文章

  1. 怎么把磁盘合并成一个?两个硬盘分区合并,如何硬盘分区合并
  2. the little schemer 笔记(10.1)
  3. Python学习记录 使用百度aip模块(API Python-SDK)实现人脸识别
  4. Pycharm中的Python Console与Terminal
  5. 删除cortana_如何从Windows 10任务栏中删除Cortana
  6. [转]页面回传与js调用服务器端事件
  7. 复盘2020年全球医疗行业:新冠疫苗争分夺秒、跨国药企押注中国、药企整合并购不断 | 医药观察...
  8. java老王博客_老王的JAVA基础课:第5课 面向对象
  9. js原生 阿拉伯数字转中文大写 (金额)
  10. 图论-生成树-黑暗城堡