56. Merge Intervals
| Metric | Complexity | Reason |
|---|---|---|
| Time Complexity | Sorting dominates | |
| Space Complexity | Result array stores all intervals |
class Solution:
def merge(self, I: List[List[int]]) -> List[List[int]]:
I.sort()
result = [I[0]]
for s, e in I:
ps, pe = result[-1]
if s <= pe:
result[-1][1] = max(e, pe)
else:
result.append([s, e])
return result