File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
solution/3400-3499/3440.Reschedule Meetings for Maximum Free Time II Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -111,7 +111,37 @@ tags:
111111#### Python3
112112
113113``` python
114+ from typing import List
114115
116+ class Solution :
117+ def maxFreeTime (self , eventTime : int , startTime : List[int ], endTime : List[int ]) -> int :
118+ n = len (startTime)
119+ res = 0
120+
121+ left_gaps = [0 ] * n
122+ left_gaps[0 ] = startTime[0 ]
123+ for meet in range (1 , n):
124+ left_gaps[meet] = max (left_gaps[meet- 1 ], startTime[meet] - endTime[meet- 1 ])
125+
126+ right_gaps = [0 ] * n
127+ right_gaps[n- 1 ] = eventTime - endTime[- 1 ]
128+ for meet in range (n- 2 , - 1 , - 1 ):
129+ right_gaps[meet] = max (right_gaps[meet+ 1 ], startTime[meet+ 1 ] - endTime[meet])
130+
131+ for meet in range (n):
132+ left_gap = left_gaps[meet] if meet == 0 else startTime[meet] - endTime[meet- 1 ]
133+ right_gap = right_gaps[meet] if meet == n- 1 else startTime[meet+ 1 ] - endTime[meet]
134+
135+ interval = 0
136+
137+ if (meet != 0 and left_gaps[meet- 1 ] >= (endTime[meet] - startTime[meet]) or
138+ meet != n- 1 and right_gaps[meet+ 1 ] >= (endTime[meet] - startTime[meet])
139+ ):
140+ interval = endTime[meet] - startTime[meet]
141+
142+ res = max (res, left_gap + interval + right_gap)
143+
144+ return res
115145```
116146
117147#### Java
You can’t perform that action at this time.
0 commit comments