import numpy as np
def package(capacity, index, weightList, valueList):
if capacity <= 0 or index < 0:
return 0
else:
if weightList[index] <= capacity:
return max(package(capacity, index - 1, weightList, valueList), valueList[index] + package(capacity - weightList[index], index - 1, weightList, valueList))
else:
return package(capacity, index - 1, weightList, valueList)
def findPackage1(capacity, weightList, valueList):
length = len(weightList)
if (length == 0):
return 0
return package(capacity, length - 1, weightList, valueList)
def package2(capacity, index, weightList