美文网首页leetcode和算法----日更
leetcode 435 无重叠区间

leetcode 435 无重叠区间

作者: Arsenal4ever | 来源:发表于2020-01-17 22:53 被阅读0次

    贪心想了半天,一直想不出完美的要解决条件,只知道要根据起点或终点排序。后来看了答案,原来是用总的区间数量减去没重复的区间数量,得到要去掉的区间数量。那就简单了,找出没重复的区间数量就好了,贪心,维护一段区间或者终点值就 ok 了。

    class Solution(object):
        def eraseOverlapIntervals(self, intervals):
            """
            :type intervals: List[List[int]]
            :rtype: int
            """
            if len(intervals) <= 1:
                return 0
            intervals.sort(key=lambda x: x[1])
            end = intervals[0][1]
            count = 1
            for i in range(1, len(intervals)):
                if intervals[i][0] >= end:
                    count += 1
                    end = intervals[i][1]
            return len(intervals) - count
    

    相关文章

      网友评论

        本文标题:leetcode 435 无重叠区间

        本文链接:https://www.haomeiwen.com/subject/rrbhzctx.html