LeetCode 56. Merge Intervals (Python)

来源:互联网 发布:波士顿矩阵分析案例题 编辑:程序博客网 时间:2024/06/05 07:04

题目描述:
Given a collection of intervals, merge all overlapping intervals.

For example:
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].

AC代码:

class Solution(object):    def merge(self, intervals):        """        :type intervals: List[Interval]        :rtype: List[Interval]        """        if not intervals:            return []        res = []        intervals.sort(key=lambda x: x.start)        temp = intervals[0]        for i in range(len(intervals) - 1):            if temp.end < intervals[i + 1].start:                res.append(temp)                temp = intervals[i + 1]            else:                temp.end = max(intervals[i + 1].end, temp.end)        res.append(temp)        return res
原创粉丝点击