Skip to content

Commit e8a5d65

Browse files
authored
Create 621. Task Scheduler (#433)
2 parents 0bdf3c5 + a8746af commit e8a5d65

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

621. Task Scheduler

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public:
3+
int leastInterval(vector<char>& tasks, int n) {
4+
int taskFreqMp[26] = {0};
5+
for (char c : tasks) {
6+
taskFreqMp[c - 'A']++;
7+
}
8+
9+
sort(taskFreqMp, taskFreqMp + 26);
10+
11+
int batchCnt = taskFreqMp[25];
12+
int vacantSlots = (--batchCnt) * n;
13+
for (int indx = 0; indx < 25; indx++) {
14+
vacantSlots -= min(taskFreqMp[indx], batchCnt);
15+
}
16+
17+
return (vacantSlots > 0) ? tasks.size() + vacantSlots : tasks.size();
18+
}
19+
};

0 commit comments

Comments
 (0)