diff --git a/621. Task Scheduler b/621. Task Scheduler new file mode 100644 index 0000000..03cb8a7 --- /dev/null +++ b/621. Task Scheduler @@ -0,0 +1,19 @@ +class Solution { +public: + int leastInterval(vector& tasks, int n) { + int taskFreqMp[26] = {0}; + for (char c : tasks) { + taskFreqMp[c - 'A']++; + } + + sort(taskFreqMp, taskFreqMp + 26); + + int batchCnt = taskFreqMp[25]; + int vacantSlots = (--batchCnt) * n; + for (int indx = 0; indx < 25; indx++) { + vacantSlots -= min(taskFreqMp[indx], batchCnt); + } + + return (vacantSlots > 0) ? tasks.size() + vacantSlots : tasks.size(); + } +};