@@ -111,34 +111,47 @@ tags:
111
111
#### Python3
112
112
113
113
``` python
114
- from typing import List
115
-
116
114
class Solution :
117
- def maxFreeTime (self , eventTime : int , startTime : List[int ], endTime : List[int ]) -> int :
115
+ def maxFreeTime (
116
+ self , eventTime : int , startTime : List[int ], endTime : List[int ]
117
+ ) -> int :
118
118
n = len (startTime)
119
119
res = 0
120
120
121
121
left_gaps = [0 ] * n
122
122
left_gaps[0 ] = startTime[0 ]
123
123
for meet in range (1 , n):
124
- left_gaps[meet] = max (left_gaps[meet- 1 ], startTime[meet] - endTime[meet- 1 ])
124
+ left_gaps[meet] = max (
125
+ left_gaps[meet - 1 ], startTime[meet] - endTime[meet - 1 ]
126
+ )
125
127
126
128
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])
129
+ right_gaps[n - 1 ] = eventTime - endTime[- 1 ]
130
+ for meet in range (n - 2 , - 1 , - 1 ):
131
+ right_gaps[meet] = max (
132
+ right_gaps[meet + 1 ], startTime[meet + 1 ] - endTime[meet]
133
+ )
130
134
131
135
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]
136
+ left_gap = (
137
+ left_gaps[meet] if meet == 0 else startTime[meet] - endTime[meet - 1 ]
138
+ )
139
+ right_gap = (
140
+ right_gaps[meet]
141
+ if meet == n - 1
142
+ else startTime[meet + 1 ] - endTime[meet]
143
+ )
134
144
135
145
interval = 0
136
146
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])
147
+ if (
148
+ meet != 0
149
+ and left_gaps[meet - 1 ] >= (endTime[meet] - startTime[meet])
150
+ or meet != n - 1
151
+ and right_gaps[meet + 1 ] >= (endTime[meet] - startTime[meet])
139
152
):
140
153
interval = endTime[meet] - startTime[meet]
141
-
154
+
142
155
res = max (res, left_gap + interval + right_gap)
143
156
144
157
return res
0 commit comments