Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- First append the newer elements at right position as intervals array is already sorted and then apply the merge intervals
- '''
- def merge(arr):
- ans=[]
- prev_start=arr[0][0]
- prev_end=arr[0][1]
- for i in arr:
- cur_start=i[0]
- cur_end=i[1]
- if cur_start<=prev_end:
- prev_end=max(cur_end,prev_end)
- else:
- ans.append([prev_start,prev_end])
- prev_start=cur_start
- prev_end=cur_end
- ans.append([prev_start,prev_end])
- return ans
- class Solution:
- def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
- for i in range(len(intervals)):
- if newInterval[0] < intervals[i][0]:
- intervals.insert(i,newInterval)
- break
- else:
- intervals.append(newInterval)
- return merge(intervals)
Advertisement
Add Comment
Please, Sign In to add comment