leetcode20200416每日一题-56.合并区间

1.题目

在这里插入图片描述

2.题目意思

合并区间,存在相交就合并,否则不合并。注意,三个区间相交也要合并。

3.代码

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        if intervals == []:
            return []
        intervals.sort() # 排序
        res = [intervals[0]] # 输出结果
        for l, r in intervals[1:]: # 不断进行比较
            if l > res[-1][1]: # 比较新区间左端和老区间右端
                res.append([l,r]) # 新区间左端更大则加入新区间
            else: # 新区间更小
                res[-1][1] = max(r, res[-1][1]) # 取最大的右端作为区间右端
        return res

思路:排序+双指针

这题其实蛮简单的,排序然后比较。注释写的很详细啦~

冲冲冲

发布了18 篇原创文章 · 获赞 1 · 访问量 792

猜你喜欢

转载自blog.csdn.net/shuaishuaihyh/article/details/105549712