Loading...
Schedule jobs to maximize total profit by placing each job into the latest available slot before its deadline. Greedy is optimal by exchange arguments.
1procedure JOB_SCHEDULING(jobs)2 sort jobs by decreasing profit3 let slots[1..maxDeadline] ← empty4 for each job j in jobs do5 for t ← min(maxDeadline, j.deadline) down to 1 do6 if slots[t] is empty then7 slots[t] ← j; break8 end if9 end for10 end for11 return slots12end procedure