non_overlapping_intervals
1from math import inf 2 3 4# @leet start 5class Solution: 6 def eraseOverlapIntervals(self, intervals: list[list[int]]) -> int: 7 intervals.sort(key=lambda x: x[1]) 8 res = 0 9 curr_end = -inf 10 for start, end in intervals: 11 if start >= curr_end: 12 curr_end = end 13 else: 14 res += 1 15 return res 16 17 18# @leet end 19sol = Solution() 20 21 22def test(): 23 assert sol.eraseOverlapIntervals([[1, 2], [2, 3]]) == 0 24 assert sol.eraseOverlapIntervals([[1, 2], [2, 3], [3, 4], [1, 3]]) == 1 25 assert sol.eraseOverlapIntervals([[1, 100], [11, 22], [1, 11], [2, 12]]) == 2
class
Solution:
6class Solution: 7 def eraseOverlapIntervals(self, intervals: list[list[int]]) -> int: 8 intervals.sort(key=lambda x: x[1]) 9 res = 0 10 curr_end = -inf 11 for start, end in intervals: 12 if start >= curr_end: 13 curr_end = end 14 else: 15 res += 1 16 return res
sol =
<Solution object>
def
test():