Size bir çanta Skittles verildi. Herkes farklı lezzetleri en çok takdir etmek için lezzetler arasında dönmeniz gerektiğini bilir.
Temelleri:
- Bir seferde sadece 1 skittle yiyebilirsiniz
- Skittle'larınızı yeme sırası periyodik olmalıdır .
- Her dönem belirli bir lezzeti bir kereden fazla içeremez.
- Çantanızda sadece çok fazla kızak var. Belirli bir skittle lezzetini çantanızda göründüğünden daha fazla yiyemezsiniz.
- Mümkün olduğu kadar çok yavru kedi yemek istersiniz (her zaman mümkün olmayabilir)
Örnekler:
3 Kırmızı, 2 Mavi ve 3 Yeşil skittle başladığınızı varsayalım:
R B G R B G R G Invalid: The last R must be followed by a B, not a G
R B G R B G R Valid, but sub-optimal
R R R Valid, but sub-optimal
R G B R G B R G Valid and optimal
G R B G R B G R Also valid and optimal (there are multiple good solutions)
Giriş çıkış
- Renk sayıları için boş olmayan bir pozitif tamsayılar listesi geçirilirsiniz. (Yukarıdaki örnek
[3,2,3]). - Geçerli ve optimum sipariş içeren bir liste döndürmeniz gerekir.
- Renkleri kullanmak yerine, giriş listesindeki indeksleri kullanacaksınız. (Yukarıdaki son örnek çıktı olacaktır
[2,0,1,2,0,1,2,0]). - Çıktınız 0 dizinli veya 1 dizinli olabilir. Örneklerim 0 dizinli olacak
Test Durumları
1 0
4 0 0 0 0
4 1 0 0 0 0
3 1 0 1 0 or 0 0 0
5 2 2 0 1 2 0 1 2 0
2 3 5 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2
2 4 5 2 1 2 1 2 1 2 1 2
3 4 5 2 1 0 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2 0 1 2
1 1 1 1 1 6 5 0 1 2 3 4 5 (lots of other solutions)
1 1 1 1 1 8 5 5 5 5 5 5 5 5
2 4 6 8 3 2 1 3 2 1 3 2 1 3 2 1 3 2
Bu bir kod golfü , bu yüzden çözümlerinizi en sevdiğiniz dilde mümkün olduğunca kısa yapın!