Insert Interval
Problem page:https://leetcode.com/problems/insert-interval
Solution
def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
res = []
i = 0
while i < len(intervals) and intervals[i][1] < newInterval[0]:
res.append(intervals[i])
i += 1
while i < len(intervals) and intervals[i][0] <= newInterval[1]:
newInterval[0] = min(newInterval[0],intervals[i][0])
newInterval[1] = max(newInterval[1],intervals[i][1])
i += 1
res.append(newInterval)
while i < len(intervals):
res.append(intervals[i])
i+=1
return res
Complexity
- time: O(n)
- space: O(n)