leetcode刷题-57插入区间

题目

给出一个无重叠的 ,按照区间起始端点排序的区间列表。

在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

示例 1:

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

思路

词题与56题完全一致,将newInterval加入intervals中,即可变成56题

实现

class Solution:
    def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
        intervals.append(newInterval)
        intervals.sort()
        result = list()
        if not intervals:
            return []
        result.append(intervals[0])
        for idx in intervals:
            left = result[-1][0]
            right = result[-1][1]
            if idx[0] <= right and idx[1] >= right:
                result[-1][1] = idx[1]
            elif idx[0] > right:
                result.append(idx)
        return result
原文地址:https://www.cnblogs.com/mgdzy/p/13439942.html