給出一個無重疊的 ,按照區間起始端點排序的區間列表。
在列表中插入一個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合并區間)。
示例?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]?重疊。
思路:和上一題思路一樣,就是做之前插入新區見即可。
上一題鏈接
class Solution:def insert(self, intervals: 'List[Interval]', newInterval: 'Interval') -> 'List[Interval]':length=len(intervals)for x in range(length+1):if x==length or intervals[x][0]>=newInterval[0]:intervals=intervals[:x]+[newInterval]+intervals[x:]breakres = []for i in intervals:if not res or res[-1][1] < i[0]:res.append(i)else:res[-1][1] = max(i[1],res[-1][1])return res
?