Ausgehend von einer Liste von Jobs, die in der Reihenfolge ausgeführt werden müssen, in der jeweils ein Slot ausgeführt wird, wie lange es dauert, sie alle auszuführen, wenn nach dem Ausführen eines Jobs für die nächsten beiden Slots (Abkühlen der Slots) nicht derselbe Job ausgeführt werden kann )? In diesen Cooling-Off-Slots kann jedoch ein anderer Job zugewiesen werden.
Beispielsweise,
[9,10,9,8] => output: 5
Weil Jobs zugewiesen werden als [9 10 _ 9 8]
.
1. Erstens benötigt 9 zwei Abkühlpunkte _ _. Also fangen wir an mit 9 _ _
.
2. Der nächste Job 10 unterscheidet sich vom vorherigen Job 9, sodass wir einen von _ _ zuweisen können. Dann werden wir haben 9 10 _
.
3. Drittens kann 9 jetzt nicht zugewiesen werden, da der erste Job 9 derselbe Job ist und eine Abkühlzeit benötigt. 9 10 _ 9
.
4. Last, 8 ist nicht dasselbe wie alle anderen vorherigen zwei Jobs, daher kann es direkt nach 9 zugewiesen werden, und da dies der letzte Job ist, muss keine Abkühlzeit eingehalten werden. Die endgültige Liste ist 9 10 _ 9 8
und die erwartete Ausgabe ist 5, was der Anzahl der Plätze (oder der Anzahl der Slots) entspricht.
Testfälle:
[1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10])
[1,1,1] => output: 7 ([1 _ _ 1 _ _ 1])
[3,4,4,3] => output: 6 ([3 4 _ _ 4 3])
[3,4,5,3] => output: 4 ([3 4 5 3])
[3,4,3,4] => output : 5 ([3 4 _ 3 4])
[3,3,4,4] => output : 8 ([3 _ _ 3 4 _ _ 4])
[3,3,4,3] => output : 7 ([3 _ _ 3 4 _ 3])
[3,2,1,3,-4] => output : 5 ([3 2 1 3 -4])
[] => output : 0 ([])
[-1,-1] => output : 4 ([-1 _ _ -1])
Der Eingabewert kann eine beliebige Ganzzahl sein (negativ, 0, positiv). Die Länge der Jobliste beträgt 0 <= Länge <= 1.000.000.
Die Ausgabe ist eine Ganzzahl, die Gesamtzahl der Slots, die im Testfall als Ausgabe angegeben wird. Die Liste in der Klammer gibt an, wie die Ausgabe generiert werden soll.
Gewinnkriterium
Code-Golf
[]
?