57 think less and code more...
This commit is contained in:
parent
331fc02f5f
commit
3184bf511e
81
57-240605-pass/main.py
Normal file
81
57-240605-pass/main.py
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
class Solution:
|
||||||
|
def insert(self, intervals: list[list[int]], newInterval: list[int]) -> list[list[int]]:
|
||||||
|
l = newInterval[0]
|
||||||
|
r = newInterval[1]
|
||||||
|
if r < intervals[0][0]:
|
||||||
|
intervals.insert(0, newInterval)
|
||||||
|
return intervals
|
||||||
|
if l > intervals[-1][1]:
|
||||||
|
intervals.append(newInterval)
|
||||||
|
return intervals
|
||||||
|
nl = 0
|
||||||
|
nl_f = False
|
||||||
|
nl_ff = False
|
||||||
|
nr = len(intervals)
|
||||||
|
nr_f = False
|
||||||
|
nr_ff = False
|
||||||
|
for ind, interval in enumerate(intervals):
|
||||||
|
left = interval[0]
|
||||||
|
right = interval[1]
|
||||||
|
if l >= left and l <= right:
|
||||||
|
nl_f = True
|
||||||
|
nl = ind
|
||||||
|
if r >= left and r <= right:
|
||||||
|
nr_f = True
|
||||||
|
nr = ind + 1
|
||||||
|
|
||||||
|
if nl_f == False:
|
||||||
|
for i in range(1, len(intervals)):
|
||||||
|
if l > intervals[i - 1][1] and l < intervals[i][0]:
|
||||||
|
nl = i
|
||||||
|
nl_ff = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if nr_f == False:
|
||||||
|
for i in range(1, len(intervals)):
|
||||||
|
if r > intervals[i - 1][1] and r < intervals[i][0]:
|
||||||
|
nr = i
|
||||||
|
nr_ff = True
|
||||||
|
break
|
||||||
|
|
||||||
|
print(nl, nr, nl_f, nr_f)
|
||||||
|
|
||||||
|
rlt = []
|
||||||
|
for i in range(nl):
|
||||||
|
rlt.append(intervals[i])
|
||||||
|
nl_l = intervals[nl][0]
|
||||||
|
if nl_f == False:
|
||||||
|
nl_l = l
|
||||||
|
if nr_ff == True or nr_f == True:
|
||||||
|
nr = nr - 1
|
||||||
|
nr_r = intervals[nr][1]
|
||||||
|
nr = nr + 1
|
||||||
|
|
||||||
|
if nr_f == False:
|
||||||
|
nr_r = r
|
||||||
|
|
||||||
|
rlt.append([nl_l, nr_r])
|
||||||
|
|
||||||
|
print(rlt)
|
||||||
|
for i in range(nr, len(intervals)):
|
||||||
|
rlt.append(intervals[i])
|
||||||
|
return rlt
|
||||||
|
|
||||||
|
intervals = [[1,3], [6,9]]
|
||||||
|
newInterval = [2,5]
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.insert(intervals=intervals, newInterval=newInterval))
|
||||||
|
intervals = [[1,2], [3,5], [6,7], [8,10],[12, 16]]
|
||||||
|
newInterval = [4, 8]
|
||||||
|
print(sol.insert(intervals=intervals, newInterval=newInterval))
|
||||||
|
|
||||||
|
intervals = [[1,2], [3,5], [6,7], [8,10],[12, 16]]
|
||||||
|
newInterval = [0, 16]
|
||||||
|
print(sol.insert(intervals=intervals, newInterval=newInterval))
|
||||||
|
print()
|
||||||
|
intervals = [[1,5]]
|
||||||
|
newInterval = [6, 18]
|
||||||
|
print(sol.insert(intervals=intervals, newInterval=newInterval))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user