Task Scheduler
Explore how to approach the task scheduler problem by learning to track and manage CPU tasks with cooling intervals. Understand the constraints and develop strategies to minimize total CPU intervals needed for task completion.
We'll cover the following...
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.lengthntasksconsists 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.
import java.util.*;class Solution {public static int leastInterval(char[] tasks, int n) {// Replace this placeholder return statement with your codereturn -1;}}