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