Task Scheduler in Java: Explanation & Practice

Find minimum time to complete all tasks with cooldown

Problem summary

Tasks need n intervals cooldown between same tasks. Find minimum intervals to complete all.

Starter code

import java.util.*;

public class Main {
    public static void main(String[] args) {
        char[] tasks = {'A', 'A', 'A', 'B', 'B', 'B'};
        int n = 2; // Test case 1
        
        // Find minimum intervals
        // Print: Minimum intervals: <count>
    }
}

Expected output and test cases

  • A->B->idle->A->B->idle->A->B
    Minimum intervals: 8
  • No idle needed with n=0
    Minimum intervals: 6

Hints

  1. Count frequency of each task
  2. Most frequent task determines minimum
  3. Formula: (maxFreq-1)*(n+1) + countOfMaxFreq

Related Collections exercises

Practice all Collections exercises · Run this idea in the Java compiler