class Solution:
def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
if len(intervals) == 0:
return [newInterval]
intervals.append(newInterval)
intervals = sorted(intervals, key = lambda x : x[0])
# now merge the intervals
i = 1
while i < len(intervals):
p_i = intervals[i-1]
c_i = intervals[i]
if p_i[0] <= c_i[0] and c_i[0] <= p_i[-1]:
intervals[i-1] = [p_i[0], max(c_i[-1], p_i[-1])]
del intervals[i]
else:
i += 1
return intervals