✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
Mis keerukusega on järgnev algoritm?
def seljakott(a, k):
if len(a) == 0 or k <= 0:
return []
a0 = [a[0]] + seljakott(a[1:], k-a[0])
a1 = seljakott(a[1:], k)
s0 = sum(a0)
s1 = sum(a1)
if s0 > k or s1 > s0:
return a1
return a0