Leetcode 761 Solution
This article provides solution to leetcode question 761 (employee-free-time)
Access this page by simply typing in "lcs 761" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
""" # Definition for an Interval. class Interval: def __init__(self, start: int = None, end: int = None): self.start = start self.end = end """ class Solution: def employeeFreeTime(self, schedule: '[[Interval]]') -> '[Interval]': events =  for emp_schedule in schedule: for interval in emp_schedule: events.append((interval.start, -1)) events.append((interval.end, 1)) events.sort() print(events) cnt = 0 last_free_ts = None ans =  for ts, op in events: if op == -1: cnt += 1 if cnt == 1 and last_free_ts is not None and ts - last_free_ts >= 1: ans.append(Interval(start=last_free_ts, end=ts)) elif op == 1: cnt -= 1 if cnt == 0: last_free_ts = ts return ans