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

 

posted @ 2020-08-05 15:05  maoguai  阅读(177)  评论(0编辑  收藏  举报