leetcode 每日一题 56. 合并区间

Posted nil_f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 每日一题 56. 合并区间相关的知识,希望对你有一定的参考价值。

排序合并

思路:

用数组res记录合并结果,先把数组intervals排序,遍历数组intervals,如果res为空或者遍历的区间左边界比res中最后一个区间的右边界值大,则将遍历的区间添加到结果中,如果遍历的区间左边界比res最后一个区间的右边界值小,则更新res最后一个区间的右边界的值。

代码:

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 or res[-1][1] < interval[0]:
                res.append(interval)
            else:
                res[-1][1] = max(res[-1][1], interval[1])
        return res

 

以上是关于leetcode 每日一题 56. 合并区间的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 每日一题 57. 插入区间

leetcode 每日一题 57. 插入区间

《LeetCode之每日一题》:205.合并区间

算法·每日一题(详解+多解)-- day14

算法·每日一题(详解+多解)-- day14

力扣 每日一题 768. 最多能完成排序的块 II难度:困难,rating: 1787(区间合并+区间计数)