LeetCode-python 57.插入区间

题目链接
难度: 困难       类型:数组


示例1

输入: intervals = [[1,3],[6,9]], newInterval = [2,5]
输出: [[1,5],[6,9]]

示例2

输入: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
输出: [[1,2],[3,10],[12,16]]
解释: 这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。

解题思路


需要插入的区间为[s,e]
原区间被分为三部分:
左边:区间的end小于s
右边:区间的start大于e
重叠:最小的start和最大的end

代码实现

class Solution:
    def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
        s = newInterval[0]
        e = newInterval[1]
        left, right = [], []
        for inter in intervals:
            if s>inter[1]:
                left.append(inter)
            elif e

你可能感兴趣的:(LeetCode-python 57.插入区间)