Employee Free Time

Problem

We are given a list schedule of employees, which represents the working time for each employee.

Each employee has a list of non-overlapping Intervals, and these intervals are in sorted order.

Return the list of finite intervals representing common, positive-length free time for all employees, also in sorted order.

(Even though we are representing Intervals in the form [x, y], the objects inside are Intervals, not lists or arrays. For example, schedule[0][0].start = 1, schedule[0][0].end = 2, and schedule[0][0][0] is not defined). Also, we wouldn't include intervals like [5, 5] in our answer, as they have zero length.

Thought Process

  • This question is really similar to merge intervals except instead of merging them we find where they do not overlap

Solution

Time Complexity

  • Time: O(n log n) because we have to sort the intervals

  • Space: O(n) since we're storing intervals

Last updated

Was this helpful?