贪心:leetcode435(中等)——无重叠区间

题目

在这里插入图片描述

题解

思路:一个区间越小,就能留出更多的空间分给其他区间。如果后面一个区间的头小于前面一个区间的尾,就移除后面的区间;如果不需要移除,就把它们两合并成新的区间;

class Solution:
    def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
        intervals.sort(key=lambda x: x[1])
        removed=0;
        right=intervals[0][1]
        for i in range(1, len(intervals)):
            if intervals[i][0] < right:
                removed += 1
            else:
                right = intervals[i][1]
        return removed

Guess you like

Origin blog.csdn.net/memory_MM_forever/article/details/121564494