Search⌘ K
AI Features

Solution: Task Scheduler

Explore how to efficiently schedule CPU tasks with mandatory cooling intervals. Learn to calculate minimal CPU intervals by analyzing task frequencies and distributing idle slots effectively. Understand the step-by-step approach and the underlying logic to solve scheduling conflicts while optimizing CPU usage.

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:

  • 1 1 \leq  tasks.length 1000 \leq 1000

  • ...