跳过正文
  1. leetcode 题解/

56_合并区间

·53 字·1 分钟

类型:数组

    1. 合并区间 💛

    https://leetcode-cn.com/problems/merge-intervals/

    ❓ 数组 intervals 表示若干个区间的合集,intervals[i] = [start, end],请合并所有重叠区间。

    💡 排序后合并

    class Solution:
        def merge(self, intervals: List[List[int]]) -> List[List[int]]:
            if not intervals:
                return []
    
            intervals.sort()
            ans = []
            for [start, end] in intervals:
                if not ans or start > ans[-1][1]:
                    ans.append([start, end])
                else:
                    ans[-1][1] = max(ans[-1][1], end)
            return ans

    时间复杂度:O(N*logN),快排的时间开销

    空间复杂度:O(N)