java刷题--621任务调度器
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--621任务调度器相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public int leastInterval(char[] tasks, int n) {
char[] cnt = new char[26];
int maxn = 0;
for (int task : tasks) {
//A-0 B-1 C-2 D-3 E-4
cnt[task - 'A'] ++;
maxn = Math.max(maxn, cnt[task - 'A']); //得出最高次数
}
//maxn - 1是最大频次之间的段数,比如A之间的间隔数,乘以冷冻期加1即跨度
int ans = (maxn - 1) * (n + 1);
for (int i = 0; i < 26; i ++) //最多26个任务字母
if (cnt[i] == maxn)
ans ++; //如果还有一样的最高频次的 则就是在排列好的后面再加一天
return Math.max(ans, tasks.length);
}
}
结果
以上是关于java刷题--621任务调度器的主要内容,如果未能解决你的问题,请参考以下文章