CODE
class Solution:
def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
intervals.sort(key=lambda x: x[0])
result = 0
for idx in range(len(intervals) - 1):
left, right = intervals[idx], intervals[idx + 1]
# The left meeting ends after the start of right ( overlaps )
if left[1] > right[0]:
result += 1
intervals[idx + 1][0] = min(left[0], right[0])
# drop the meeting that is longer as it may
# overlap with other too
intervals[idx + 1][1] = min(left[1], right[1])
return result
Last updated