From 6a0e5cab4187bf74a10488381b301df85439e9bc Mon Sep 17 00:00:00 2001 From: Shahriar Shatil <52494840+ShatilKhan@users.noreply.github.com> Date: Sun, 17 Mar 2024 23:50:01 +0600 Subject: [PATCH] Time: 80 ms (29.92%) | Memory: 19.9 MB (39.60%) - LeetSync --- 57-insert-interval/insert-interval.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 57-insert-interval/insert-interval.py diff --git a/57-insert-interval/insert-interval.py b/57-insert-interval/insert-interval.py new file mode 100644 index 0000000..2a66d4d --- /dev/null +++ b/57-insert-interval/insert-interval.py @@ -0,0 +1,19 @@ +class Solution: + def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]: + merged = [] + i = 0 + + while i < len(intervals) and intervals[i][1] < newInterval[0]: + merged.append(intervals[i]) + i += 1 + + while i < len(intervals) and intervals[i][0] <= newInterval[1]: + newInterval = [min(newInterval[0], intervals[i][0]), max(newInterval[1], intervals[i][1])] + i += 1 + merged.append(newInterval) + + while i < len(intervals): + merged.append(intervals[i]) + i += 1 + + return merged \ No newline at end of file