我的LeetCode代码仓:https://github.com/617076674/LeetCode
原题链接:https://leetcode-cn.com/problems/task-scheduler/
题目描述:
知识点:优先队列、贪心算法
思路一:每一轮分配后重新排序
优先分配数目最多的任务,当任务间隔i <= n时,即使没有任务分配,结果时间也要增加,这是冷却时间。
每一轮任务分配后都要重新排序。
时间复杂度是O(result),其中result为完成所有任务所需要的最短时间。空间复杂度是O(1)。
JAVA代码:
public class Solution {
public int leastInterval(char[] tasks, int n) {
int[] count = new int[26];
for (int i = 0; i < tasks.length; i++) {
count[tasks[i] - 'A']++;
}
Arra