Bu basit zorlukta, Lnegatif olmayan tamsayılardan oluşan bir girdi dizisi ve b0'dan büyük ancak uzunluğundan fazla olmayan bir dizi bölme verilir L. Kodunuz M, uzunluğu olan bve diziyi bölen yeni bir dizi döndürmelidir L. Bu en kolay örneklerle açıklanmıştır.
L = [1,0,5,1]ve b = 2geri döner M = [1,6].
L = [0,3,7,2,5,1]ve b = 3geri döner M = [3,9,6].
Şimdiye kadar, çok basit. Ancak bu soruda bmutlaka bölünmek zorunda değildir len(L). Bu durumda son bölmede telafi etmek için daha az sayı bulunur.
Muhtemelen sonuncusu hariç her bölme, toplamına katkıda bulunan aynı sayıda sayıya sahip olmalıdır. Son bölmede, diğer bölmelerden daha fazla sayı bulunmamalıdır. Son bölmede, diğer kurallara bağlı olarak mümkün olduğunca çok sayıda sayı olmalıdır.
L = [0,3,7,2,5,1]ve b = 4geri döner M = [3,9,6,0]. M = [10,8,0,0]üncü kutuda kutulara katkıda bulunan adların sayısı olmadığından kabul edilebilir bir çıktı değildir 1ve 2.
L = [0,3,7,2,5]ve b = 2geri döner M = [10,7]. M = [3, 14]son bölmede buna 3katkıda bulunan öğeler olacağından kabul edilebilir bir çıktı değildir, ancak ilk bölmede yalnızca öğe bulunur 2.
L = [1,1,1,1,1,1,1]ve b = 3geri döner M = [3,3,1].
Son kural olarak, kodunuzun doğrusal zamanda çalışması gerekir.
İstediğiniz dil veya kitaplıkları kullanabilirsiniz ve girdinin uygun bulduğunuz şekilde sağlandığını varsayabilirsiniz.
Çözülemeyen bazı girdiler olduğu ortaya çıkıyor. Örneğin [1,1,1,1,1]ve b=4. Kodunuz bu girişler için istediği her şeyi verebilir.
your code must run in linear time- Bunu doğal olarak oldukça garip takip etmeyen herhangi bir algoritma bulurdum