-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path01_insert_ineterval.py
More file actions
31 lines (21 loc) · 890 Bytes
/
01_insert_ineterval.py
File metadata and controls
31 lines (21 loc) · 890 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution:
def insert(self, intervals: list[list[int]], newInterval: list[int]) -> list[list[int]]:
res = []
for i in range(len(intervals)):
if newInterval[1] < intervals[i][0]:
res.append(newInterval)
return res + intervals[i:]
elif newInterval[0] > intervals[i][1]:
res.append(intervals[i])
else:
newInterval = [min(newInterval[0], intervals[i][0]), max(newInterval[1], intervals[i][1])]
res.append(newInterval)
return res
if __name__ == "__main__":
obj = Solution()
intervals1 = [[1,3],[4,6]]
newInterval1 = [2,5]
print(obj.insert(intervals=intervals1, newInterval=newInterval1))
intervals2 = [[1,2],[3,5],[9,10]]
newInterval2 = [6,7]
print(obj.insert(intervals=intervals2, newInterval=newInterval2))