1. 程式人生 > >Leetcode: 621. Task Scheduler

Leetcode: 621. Task Scheduler

描述

題目大意:
給定一些任務以及一個整數時隙n,26種從A~Z。CPU每個時隙可以處理一個任務,處理一個任務後需要經過n時隙後才能處理一個相同的任務,但是這n個時隙可以利用起來處理別的任務。給出最少時隙。

c++code:

class Solution {
public:
    int leastInterval(vector<char>& tasks, int n) {
        vector<int> Task(26, 0);
        for (char task : tasks) {
            ++Task[task - 'A'
]; } sort(Task.begin(), Task.end()); int i = 25, mx = Task[25], len = tasks.size(); while (i >= 0 && Task[i] == mx) --i; return max(len, (mx - 1) * (n + 1) + 25 - i); } };