leetcode

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 7882c9ec00720673b22973d53104159f3f10917f
parent d32710e7fef4c3ef02351ab80d78a0c48b3822cf
Author: Andrew Laack <andrew@laack.co>
Date:   Wed,  9 Jul 2025 16:28:19 -0500

Completed insert interval

Diffstat:
Ainsert-interval/insert-intervalV1.py | 50++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+), 0 deletions(-)

diff --git a/insert-interval/insert-intervalV1.py b/insert-interval/insert-intervalV1.py @@ -0,0 +1,50 @@ +# what the hell is even that? + + +class Solution: + def insert( + self, intervals: List[List[int]], newInterval: List[int] + ) -> List[List[int]]: + + ret_ls = [] + + if intervals == []: + ret_ls.append(newInterval) + return ret_ls + + # left + ending_at = -1 + for i in range(0, len(intervals)): + if intervals[i][1] >= newInterval[0]: + ending_at = i + break + else: + ret_ls.append(intervals[i]) + + upper = len(intervals) + + # mid_interval + if ending_at != -1: + lower_bound = min(intervals[ending_at][0], newInterval[0]) + upper = ending_at + while upper < len(intervals) and intervals[upper][1] < newInterval[1]: + upper += 1 + + if upper == len(intervals): + ret_ls.append([lower_bound, max(intervals[-1][1], newInterval[1])]) + return ret_ls + + if upper != len(intervals) and newInterval[1] < intervals[upper][0]: + ret_ls.append([lower_bound, newInterval[1]]) + upper -= 1 + else: + ret_ls.append([lower_bound, intervals[upper][1]]) + + # upper interval + for i in range(upper + 1, len(intervals)): + ret_ls.append(intervals[i]) + + if newInterval[0] > intervals[-1][1]: + ret_ls.append(newInterval) + + return ret_ls