1
class Solution:
2
def assignTasks(self, servers: List[int], tasks: List[int]) -> List[int]:
3
servers_available = [(w, i) for i, w in enumerate(servers)]
4
heapify(servers_available)
5
tasks_in_progress = []
6
res = []
7
time = 0
8
for j, task in enumerate(tasks):
9
time = max(time, j)
10
if not servers_available:
11
time = tasks_in_progress[0][0]
12
while tasks_in_progress and tasks_in_progress[0][0] <= time:
13
heappush(servers_available, heappop(tasks_in_progress)[1])
14
res.append(servers_available[0][1])
15
heappush(tasks_in_progress, (time + task, heappop(servers_available)))
16
return res

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0