-
621. 任务调度器
- 利用数组, 找到执行任务最多的任务,次数记为N
- 最后一个桶的个数是cnt
- 公署是(N-1)*(n+1)+cnt
621. 任务调度器
int leastInterval(vector<char>& tasks, int n) {
int len=tasks.size();
vector<int> vec(26);
for(char c:tasks) ++vec[c-'A'];
sort(vec.begin(),vec.end(),[](int& x,int&y){return x>y;});
int cnt=1;
while(cnt<vec.size()&&vec[cnt]==vec[0]) cnt++;
return max(len,cnt+(n+1)*(vec[0]-1) );
}
- 时间复杂度:O(nlogn)
- 空间复杂度O(1)