Task Scheduler
Medium
LC #621
max-heapgreedysimulationqueueNot attempted yet
A CPU runs tasks labelled with capital letters. Each task
takes one time slot, and in each slot the CPU either runs one
task or sits idle. Two runs of the same letter must
be separated by at least n slots. Tasks can run in any
order.
Return the minimum number of slots needed to run every task.
Example 1
Input: tasks = ["A","A","A","B","B","B"], n = 2
Output: 8
A B idle A B idle A B
Example 2
Input: tasks = ["A","C","A","B","D","B"], n = 1
Output: 6
A B A B C D: no idle slots needed.
Example 3
Input: tasks = ["A","A","A","B","B","B"], n = 3
Output: 10
A B idle idle A B idle idle A B
Constraints
1 <= len(tasks) <= 3 * 10^4tasks[i]is an uppercase letter0 <= n <= 100