LeetCode 1235. 规划兼职工作(动态规划+二分查找)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                LeetCode 1235. 规划兼职工作(动态规划+二分查找)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                文章目錄
- 1. 題目
- 2. 解題
 
1. 題目
你打算利用空閑時間來做兼職工作賺些零花錢。
這里有 n 份兼職工作,每份工作預計從 startTime[i] 開始到 endTime[i] 結束,報酬為 profit[i]。
給你一份兼職工作表,包含開始時間 startTime,結束時間 endTime 和預計報酬 profit 三個數組,請你計算并返回可以獲得的最大報酬。
注意,時間上出現重疊的 2 份工作不能同時進行。
如果你選擇的工作在時間 X 結束,那么你可以立刻進行在時間 X 開始的下一份工作。
示例 1:
 
示例 2:
 
示例 3:
 
來源:力扣(LeetCode)
 鏈接:https://leetcode-cn.com/problems/maximum-profit-in-job-scheduling
 著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 先按照結束時間排序
- dp 是map,key 是結束時間,value 是 到結束時間 key 時的最大的收益
- 每次二分查找 map 找到上一個不沖突的結束時間點,進行狀態轉移
600 ms 51.9 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
 
總結
以上是生活随笔為你收集整理的LeetCode 1235. 规划兼职工作(动态规划+二分查找)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: LintCode MySQL 1921.
- 下一篇: 天池 在线编程 放小球(动态规划)
