Solution: Task Scheduler
Understand how to efficiently schedule CPU tasks by calculating task frequencies and arranging them to honor cooling periods. Learn to minimize idle time and determine the least CPU intervals needed by strategically placing the most frequent tasks and filling gaps with less frequent ones. Explore an algorithm with O(n) time complexity for optimal task scheduling.
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:
...