Solution: Employee Free Time
Explore how to determine finite free time intervals shared by all employees by merging their sorted schedules using a min-heap. Learn to identify gaps between intervals and return sorted free time slots while understanding the efficiency of the solution.
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...