leetcode621.任务调度器(java)
程序员文章站
2022-06-05 18:59:29
...
题目
这道题也挺有意思的。
如果题目有提到使用大写字母,或者小写字母表示balabala的,都可以考虑用一个new int[26]的数组来存。
class Solution {
public int leastInterval(char[] tasks, int n) {
int[] map = new int[26];
for(char ch : tasks){
map[ch-'A']++;
}
Arrays.sort(map);
int max_task = map[25]-1, idle_slots = max_task*n;
for(int i = 24;i >= 0 && map[i] > 0;i--){
idle_slots -= Math.min(map[i],max_task);
}
return idle_slots > 0? idle_slots+tasks.length:tasks.length;
}
}
参考官方题解