跳到主要内容

621 任务调度器

https://leetcode.cn/leetbook/read/top-interview-questions-medium/xwvaot/

cost: NaN

class Solution {
public:
int leastInterval(vector<char>& tasks, int n) {
unordered_map<char, int> freq;
for (const char task : tasks) {
freq[task]++;
}
int maxExec =
max_element(freq.begin(), freq.end(), [&](auto& a, auto& b) {
return a.second < b.second;
})->second;
int maxCnt = 0;
for (auto& [_, cnt] : freq) {
if (cnt == maxExec) {
maxCnt++;
}
}
int res = (maxExec - 1) * (n + 1) + maxCnt;
return std::max(res, static_cast<int>(tasks.size()));
}
};