Solution: Employee Free Time
Explore how to identify mutual free time for employees by merging sorted working intervals. Understand the use of a min-heap to efficiently track and merge overlapping schedules, detect gaps, and return all finite free intervals sorted by start time.
We'll cover the following...
Statement
You are given schedule, a list where each element contains the working hours of one employee.
Each employee’s working hours are represented as a list of Interval objects that are already sorted and do not overlap.
Return all finite intervals with non-zero duration during which all employees are simultaneously free. The resulting list of free intervals should also be sorted in ascending order.
Note: The intervals are represented as objects, not arrays. For example,
schedule[1][1].start = 1andschedule[1][1].end = 2, whileschedule[0][0][0]is invalid. Do not include intervals with zero length (for example,[3, 3]) in the output.
Constraints:
-
schedule.length,schedule[i].length -
interval.start<interval.end...