⭐⭐⭐⭐⭐【贪心】LeetCode 621. Task Scheduler
程序员文章站
2022-03-05 13:05:24
...
题目描述
知识点
贪心
结果
实现
码前思考
我没有写出来,这道题目是贪心的思想,下面贴一下官方题解:
代码实现
//采用官方题解的思路
class Solution {
public:
int leastInterval(vector<char>& tasks, int n) {
//首先记录下所有
int size = tasks.size();
vector<int> mp(26);
for(int i=0;i<size;i++){
mp[tasks[i]-'A']++;
}
sort(mp.begin(),mp.end());
int time=0;
while(mp[25]>0){//代表没有到底
int i=0;
//开始新的一轮
while(i<=n){
if(mp[25]==0){
break;
}
if(i<26&&mp[25-i]>0){
mp[25-i]--;
}
time++;
i++;
}
sort(mp.begin(),mp.end());
}
return time;
}
};
码后反思
- 搞不定啊,害。
上一篇: 621. Task Scheduler 任务调度器
下一篇: 621. 任务调度器