
如果A是出现最多的,那么流程就是A->X->X->A->X->X->A,X是其他或者待命都可以
int leastInterval(vector<char>& tasks, int n) {
vector<int> vec(26);
for(auto c:tasks)
++vec[c-'A'];
sort(vec.begin(),vec.end(),greater<int>());
int cnt = 0;
for(auto i:vec){
if(i==vec[0])
++cnt;
else
break;
}
int res = (vec[0]-1)*(n+1)+cnt;
int size = tasks.size();
return max(res, size);
}
本文深入探讨了任务调度算法中的一种实现方式,通过分析任务出现频率,优化任务执行流程,确保高频率任务之间的合理间隔,从而提高整体执行效率。文章详细介绍了如何通过计数和排序来确定任务的执行顺序,以及如何计算最小执行间隔。
281

被折叠的 条评论
为什么被折叠?



