码迷,mamicode.com
首页 > 其他好文 > 详细

1235. Maximum Profit in Job Scheduling

时间:2021-06-21 20:22:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:color   last   sam   obs   lin   col   for   range   int   

We have n jobs, where every job is scheduled to be done from startTime[i] to endTime[i], obtaining a profit of profit[i].

You‘re given the startTime, endTime and profit arrays, return the maximum profit you can take such that there are no two jobs in the subset with overlapping time range.

If you choose a job that ends at time X you will be able to start another job that starts at time X.

 

Example 1:

技术图片

Input: startTime = [1,2,3,3], endTime = [3,4,5,6], profit = [50,10,40,70]
Output: 120
Explanation: The subset chosen is the first and fourth job. 
Time range [1-3]+[3-6] , we get profit of 120 = 50 + 70.

Example 2:

技术图片

Input: startTime = [1,2,3,4,6], endTime = [3,5,10,6,9], profit = [20,20,100,70,60]
Output: 150
Explanation: The subset chosen is the first, fourth and fifth job. 
Profit obtained 150 = 20 + 70 + 60.

Example 3:

技术图片

Input: startTime = [1,1,1], endTime = [2,3,4], profit = [5,6,4]
Output: 6

 1 class Solution {
 2     public int jobScheduling(int[] startTime, int[] endTime, int[] profit) {
 3         int n = startTime.length;
 4         int[][] jobs = new int[n][3];
 5         for (int i = 0; i < n; i++) {
 6             jobs[i] = new int[] { startTime[i], endTime[i], profit[i] };
 7         }
 8         Arrays.sort(jobs, (a, b) -> a[1] - b[1]);
 9         TreeMap<Integer, Integer> dp = new TreeMap<>();
10         dp.put(0, 0);
11         for (int[] job : jobs) {
12             int cur = dp.floorEntry(job[0]).getValue() + job[2];
13             if (cur > dp.lastEntry().getValue())
14                 dp.put(job[1], cur);
15         }
16         return dp.lastEntry().getValue();
17     }
18 }

 

1235. Maximum Profit in Job Scheduling

标签:color   last   sam   obs   lin   col   for   range   int   

原文地址:https://www.cnblogs.com/beiyeqingteng/p/14911099.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!