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