Skip to content

Commit 5fcc51e

Browse files
authored
Create reschedule-meetings-for-maximum-free-time-i.py
1 parent e8af88a commit 5fcc51e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Time: O(n)
2+
# Space: O(1)
3+
4+
# two pointers, sliding window
5+
class Solution(object):
6+
def maxFreeTime(self, eventTime, k, startTime, endTime):
7+
"""
8+
:type eventTime: int
9+
:type k: int
10+
:type startTime: List[int]
11+
:type endTime: List[int]
12+
:rtype: int
13+
"""
14+
result = curr = 0
15+
for i in xrange(len(startTime)+1):
16+
curr += (startTime[i] if i != len(startTime) else eventTime)-(endTime[i-1] if i-1 >= 0 else 0)
17+
result = max(result, curr)
18+
if i-k >= 0:
19+
curr -= startTime[i-k]-(endTime[i-k-1] if i-k-1 >= 0 else 0)
20+
return result

0 commit comments

Comments
 (0)