美文网首页
Leetcode 56. Merge Intervals

Leetcode 56. Merge Intervals

作者: woniudear | 来源:发表于2018-11-27 03:14 被阅读0次

    题目很简单,要求把重叠的区间合起来。自己做这道题主要复习了python的sort以及lambda。
    sort在原list上面进行改动,可以使用list.sort(key=..., reverse=...)或者sorted(list, key=..., reverse=...),其中key用来自定义如何排序,reverse=True的时候从大到小排列。
    lambda的格式为 lambda x: x+5 相当于不用写函数名,x是自变量,返回x+5的值。

    Input: [[1,3],[2,6],[8,10],[15,18]]
    Output: [[1,6],[8,10],[15,18]]

    python代码:

    class Solution:
        def merge(self, intervals):
            """
            :type intervals: List[Interval]
            :rtype: List[Interval]
            """
            if not intervals or len(intervals) == 1:
                return intervals
            intervals.sort(key=lambda item:item.start)
            res = []
            for interval in intervals:
                if not res:
                    res.append(interval)
                else:
                    if res[-1].end >= interval.start:
                        res[-1].end = max(res[-1].end, interval.end)
                    else:
                        res.append(interval)
            return res
    

    相关文章

      网友评论

          本文标题:Leetcode 56. Merge Intervals

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