Sırasıyla yapılması gereken işlerin bir listesi göz önüne alındığında, her biri yapılacak bir yuva ile, bir işi yaptıktan sonra sonraki iki yuva için aynı iş yapılamazsa (yuvaları soğutmak) hepsini gerçekleştirmek ne kadar sürer? )? Ancak, bu soğutma yuvalarında farklı bir iş atanabilir.
Örneğin,
[9,10,9,8] => output: 5
Çünkü işler olarak tahsis edilecektir [9 10 _ 9 8]
.
1. İlk olarak 9, _ _ olmak üzere iki soğutma noktasına ihtiyaç duyar. Böylece başlıyoruz 9 _ _
.
2. Bir sonraki iş 10, bir önceki işten 9 farklıdır, bu nedenle _ _'ten birini tahsis edebiliriz. O zaman sahip olacağız 9 10 _
.
3. Üçüncüsü, 9 şimdi tahsis edilemez, çünkü ilk iş 9 aynı iştir ve soğuma süresi gerekir. 9 10 _ 9
.
4. Son olarak, 8 önceki iki iş ile aynı değildir, bu yüzden 9'dan hemen sonra tahsis edilebilir ve bu son iş olduğundan, soğuma süresi gerektirmez. Son liste 9 10 _ 9 8
ve beklenen çıktı 5'tir (nokta sayısı (veya yuva sayısı))
Test senaryoları:
[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])
Giriş değeri herhangi bir tamsayı olabilir (negatif, 0, pozitif). İş listesinin uzunluğu 0 <= uzunluk <= 1.000.000.
Çıktı, test durumunda çıktı olarak belirtilen bir tam sayı, toplam yuva sayısı olacaktır. Parantez içindeki liste çıktının nasıl oluşturulacağıdır.
Kazanan kriter
kod-golf
[]
mı?