function leastInterval(tasks, n)
count := array of 26 zeros
for each task in tasks
count[task - 'A'] := count[task - 'A'] + 1
maxFreq := max of count
maxCount := number of elements in count equal to maxFreq
return max(length of tasks, (maxFreq - 1) * (n + 1) + maxCount)
Time: . Space: ( letters).