Task Scheduler
Try to solve the Task Scheduler problem.
Statement
You are given an array of CPU tasks
represented by uppercase letters (A to Z) and an integer n
, which denotes the cooling period required between any two identical tasks. Each task takes exactly one CPU interval to execute. Therefore, each CPU interval can either perform a task or remain idle. Tasks can be executed in any order, but the same task must be separated by at least n
intervals.
Determine the minimum number of CPU intervals required to complete all tasks.
Constraints:
tasks.length
n
tasks
consists of uppercase English letters
Examples
Let’s take a look at a few examples to get a better understanding of the problem statement:
Understand the problem
Let’s take a moment to ensure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem.
Task Scheduler
What’s the minimum number of units of time if the following values are given as input?
Tasks = [A, A, A, B, B, C, C]
n = 1
3
7
8
9
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to better understand how to solve this problem.
Try it yourself
Implement your solution in the following coding playground.
int LeastInterval(const std::vector<char>& tasks, int n) {// Replace this placeholder return statement with your codereturn 0;}