题目
给出一个无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 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