#1235
Maximum Profit in Job Scheduling
candidate master · 1300 · lc hard +32 · verified · 54.6% accepted · 7,281 likes · top 47%
Description
You have n jobs. Job i runs from startTime[i] to endTime[i] and earns profit[i]. Select a non-overlapping subset of jobs to maximize total profit.
Given startTime, endTime, and profit arrays, return the maximum profit achievable with no two selected jobs having overlapping time ranges.
A job ending at time X allows another to start 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
Code
1
2
3