commit a42fd11f30666f5f8e5a69a0fa10c23489402f2e
parent 7882c9ec00720673b22973d53104159f3f10917f
Author: Andrew Laack <andrew@laack.co>
Date: Wed, 9 Jul 2025 18:38:50 -0500
Completed insert interval
Diffstat:
1 file changed, 33 insertions(+), 0 deletions(-)
diff --git a/insert-interval/insert-intervalV2.py b/insert-interval/insert-intervalV2.py
@@ -0,0 +1,33 @@
+class Solution:
+ def insert(
+ self, intervals: List[List[int]], newInterval: List[int]
+ ) -> List[List[int]]:
+
+ original_length = len(intervals)
+ for i in range(0, len(intervals)):
+ if newInterval[0] < intervals[i][0]:
+ intervals.insert(i, newInterval)
+
+ if len(intervals) == original_length:
+ intervals.append(newInterval)
+
+ i = 0
+
+ while i < len(intervals) - 1:
+ if self.overlapping(intervals[i], intervals[i + 1]):
+ merged = self.merge(intervals[i], intervals[i + 1])
+ intervals[i] = merged
+ intervals.pop(i + 1)
+ i -= 1
+ i += 1
+
+ return intervals
+
+ # interval1[0] <= interval2[0]
+ def overlapping(self, interval1, interval2):
+ if interval1[1] >= interval2[0]:
+ return True
+
+ # interval1[0] <= interval2[0]
+ def merge(self, interval1, interval2):
+ return [interval1[0], max(interval1[1], interval2[1])]