Leetcode 1200 Solution
This article provides solution to leetcode question 1200 (remove-interval)
Access this page by simply typing in "lcs 1200" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/remove-interval
Solution
class Solution:
def removeInterval(self, intervals: List[List[int]], toBeRemoved: List[int]) -> List[List[int]]:
events = []
for start, end in intervals:
events.append((start, -1))
events.append((end, 1))
events.append((toBeRemoved[0], 1))
events.append((toBeRemoved[1], -1))
events.sort()
level = 0
ans = []
last_start = None
for t, op in events:
if level == 0 and op == -1:
last_start = t
elif level == -1 and op == 1:
if t > last_start:
ans.append((last_start, t))
level += op
return ans