![]() |
VOOZH | about |
Given an integer N denoting number of jobs and a matrix ranges[] consisting of a range [start day, end day] for each job within which it needs to be completed, the task is to find the maximum possible jobs that can be completed.
Examples:
Input: N = 5, Ranges = {{1, 5}, {1, 5}, {1, 5}, {2, 3}, {2, 3}}
Output: 5
Explanation: Job 1 on day 1, Job 4 on day 2, Job 5 on day 3, Job 2 on day 4, Job 3 on day 5
Input: N=6, Ranges = {{1, 3}, {1, 3}, {2, 3}, {2, 3}, {1, 4}, {2, 5}}
Output: 5
Approach: The above problem can be solved using a Priority Queue. Follow the steps below to solve the problems:
Below is an implementation of the above approach:
5
Time Complexity: O(Xlog(N)), where X is the difference between maximum and minimum day and N is the number of jobs.
Auxiliary Space: O(N2)