天天看點

Java實作 LeetCode 621 任務排程器(暴力大法)

給定一個用字元數組表示的 CPU 需要執行的任務清單。其中包含使用大寫的 A - Z 字母表示的26 種不同種類的任務。任務可以以任意順序執行,并且每個任務都可以在 1 個機關時間内執行完。CPU 在任何一個機關時間内都可以執行一個任務,或者在待命狀态。

然而,兩個相同種類的任務之間必須有長度為 n 的冷卻時間,是以至少有連續 n 個機關時間内 CPU 在執行不同的任務,或者在待命狀态。

你需要計算完成所有任務所需要的最短時間。

示例 :

輸入:tasks = [“A”,“A”,“A”,“B”,“B”,“B”], n = 2

輸出:8

解釋:A -> B -> (待命) -> A -> B -> (待命) -> A -> B.

提示:

任務的總個數為 [1, 10000]。

n 的取值範圍為 [0, 100]。

PS:

A-X-X-A-X-X-A;

這是間隔兩個

count【25】-1是因為最後一個我放進maxcount了

n+1是因為我雖然間隔兩個但是其實我是三個一組