2022-03-27 20:37:52 +08:00
< p > We have < code > n< / code > jobs, where every job is scheduled to be done from < code > startTime[i]< / code > to < code > endTime[i]< / code > , obtaining a profit of < code > profit[i]< / code > .< / p >
< p > You' re given the < code > startTime< / code > , < code > endTime< / code > and < code > profit< / code > arrays, return the maximum profit you can take such that there are no two jobs in the subset with overlapping time range.< / p >
< p > If you choose a job that ends at time < code > X< / code > you will be able to start another job that starts at time < code > X< / code > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 20:37:52 +08:00
< p > < strong > < img alt = "" src = "https://assets.leetcode.com/uploads/2019/10/10/sample1_1584.png" style = "width: 380px; height: 154px;" / > < / strong > < / p >
< pre >
< strong > Input:< / strong > startTime = [1,2,3,3], endTime = [3,4,5,6], profit = [50,10,40,70]
< strong > Output:< / strong > 120
< strong > Explanation:< / strong > The subset chosen is the first and fourth job.
Time range [1-3]+[3-6] , we get profit of 120 = 50 + 70.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 20:37:52 +08:00
< p > < strong > < img alt = "" src = "https://assets.leetcode.com/uploads/2019/10/10/sample22_1584.png" style = "width: 600px; height: 112px;" / > < / strong > < / p >
< pre >
< strong > Input:< / strong > startTime = [1,2,3,4,6], endTime = [3,5,10,6,9], profit = [20,20,100,70,60]
< strong > Output:< / strong > 150
< strong > Explanation:< / strong > The subset chosen is the first, fourth and fifth job.
Profit obtained 150 = 20 + 70 + 60.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 3:< / strong > < / p >
2022-03-27 20:37:52 +08:00
< p > < strong > < img alt = "" src = "https://assets.leetcode.com/uploads/2019/10/10/sample3_1584.png" style = "width: 400px; height: 112px;" / > < / strong > < / p >
< pre >
< strong > Input:< / strong > startTime = [1,1,1], endTime = [2,3,4], profit = [5,6,4]
< strong > Output:< / strong > 6
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = startTime.length == endTime.length == profit.length < = 5 * 10< sup > 4< / sup > < / code > < / li >
< li > < code > 1 < = startTime[i] < endTime[i] < = 10< sup > 9< / sup > < / code > < / li >
< li > < code > 1 < = profit[i] < = 10< sup > 4< / sup > < / code > < / li >
< / ul >