MCPcopy Index your code
hub / github.com/qiyuangong/leetcode / insert

Method insert

python/057_Insert_Interval.py:8–31  ·  view source on GitHub ↗

:type intervals: List[Interval] :type newInterval: Interval :rtype: List[Interval]

(self, intervals, newInterval)

Source from the content-addressed store, hash-verified

6
7class Solution(object):
8 def insert(self, intervals, newInterval):
9 """
10 :type intervals: List[Interval]
11 :type newInterval: Interval
12 :rtype: List[Interval]
13 """
14 if intervals is None or len(intervals) == 0:
15 return [newInterval]
16 intervals.sort(key=lambda x:x.start)
17 pos = 0
18 while pos < len(intervals):
19 # left of pos
20 if newInterval.end < intervals[pos].start:
21 intervals.insert(pos, newInterval)
22 return intervals
23 # overlap with pos
24 if self.check_overlap(intervals[pos], newInterval):
25 temp = intervals.pop(pos)
26 newInterval = self.merge_intervals(temp, newInterval)
27 else:
28 pos += 1
29 if len(intervals) == 0 or pos == len(intervals):
30 intervals.append(newInterval)
31 return intervals
32
33 def check_overlap(self, curr_int, new_int):
34 if curr_int.start <= new_int.start:

Callers 5

sumOfLeftLeavesMethod · 0.45
updateQueueMethod · 0.45
putMethod · 0.45
levelOrderBottomMethod · 0.45
plusOneMethod · 0.45

Calls 3

check_overlapMethod · 0.95
merge_intervalsMethod · 0.95
popMethod · 0.45

Tested by

no test coverage detected