56. 合并区间

题目描述

 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

原题请参考链接https://leetcode-cn.com/problems/merge-intervals/

题解

方法一 【排序】

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        intervals.sort(key=lambda x:x[0])
        res = []
        for interval in intervals:
            if not res:
                res.append(interval)
            else:
                if interval[0] <= res[-1][1]:
                    res[-1][1] = max(interval[1],res[-1][1])
                else:
                    res.append(interval)
        return res

上一篇:[LeetCode 436.] Find Right Interval


下一篇:mysql中时间的使用