Here, We see Task Scheduler LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

You are given an array of CPU tasks, each represented by letters A to Z, and a cooling time, `n`. Each cycle or interval allows the completion of one task. Tasks can be completed in any order, but there’s a constraint: identical tasks must be separated by at least `n` intervals due to cooling time.

â€‹Return the minimum number of intervals required to complete all tasks.

Example 1:
Input: tasks = [“A”,”A”,”A”,”B”,”B”,”B”], n = 2
Output: 8
Explanation: A possible sequence is: A -> B -> idle -> A -> B -> idle -> A -> B.
After completing task A, you must wait two cycles before doing A again. The same applies to task B. In the 3rd interval, neither A nor B can be done, so you idle. By the 4th cycle, you can do A again as 2 intervals have passed.

Example 2:
Input: tasks = [“A”,”C”,”A”,”B”,”D”,”B”], n = 1
Output: 6
Explanation: A possible sequence is: A -> B -> C -> D -> A -> B.
With a cooling interval of 1, you can repeat a task after just one other task.

Example 3:
Input: tasks = [“A”,”A”,”A”, “B”,”B”,”B”], n = 3
Output: 10
Explanation: A possible sequence is: A -> B -> idle -> idle -> A -> B -> idle -> idle -> A -> B.
There are only two types of tasks, A and B, which need to be separated by 3 intervals. This leads to idling twice between repetitions of these tasks.

``````class Solution {
public:
int leastInterval(vector<char>& tasks, int n) {
int freq[26] = {0};
}
sort(begin(freq) , end(freq));
int chunk = freq[25] - 1;
int idel = chunk * n;
for(int i=24; i>=0; i--){
idel -= min(chunk,freq[i]);
}
}
};```Code language: PHP (php)```

``````class Solution {
public int leastInterval(char[] tasks, int n) {
int[] freq = new int[26];
}
Arrays.sort(freq);
int chunk = freq[25] - 1;
int idle = chunk * n;
for (int i = 24; i >= 0; i--) {
idle -= Math.min(chunk, freq[i]);
}
}
}```Code language: JavaScript (javascript)```

``````var leastInterval = function(tasks, n) {
let freq = Array(26).fill(0);
}
freq.sort((a, b) => b - a);
let chunk = freq[0] - 1;
let idle = chunk * n;
for (let i = 1; i < 26; i++) {
idle -= Math.min(chunk, freq[i]);
}
};```Code language: JavaScript (javascript)```

``````class Solution(object):