Python 使用2个并行列表执行背包

Python 使用2个并行列表执行背包,python,algorithm,knapsack-problem,Python,Algorithm,Knapsack Problem,我正在尝试在Hackerrank上解决此问题: 之前,我用一个单行程序解决了另一个背包问题,其中包含并行值(不是列表),如下所示: 你在一个宝箱里发现了两件东西!第一件物品的重量为1 值1,第二件物品重2,值 价值2。您可以随身携带的物品的最大总价值是多少 你,假设你的最大重量是maxW,你不能来 稍后再来拿东西 def背包灯(值1、权重1、值2、权重2、最大值): return max(int)(weight1)这似乎是一个二进制背包问题。你研究过了吗?什么都找不到。你介意帮我吗?@oo92

我正在尝试在Hackerrank上解决此问题:

之前,我用一个单行程序解决了另一个背包问题,其中包含并行值(不是列表),如下所示:

你在一个宝箱里发现了两件东西!第一件物品的重量为1 值1,第二件物品重2,值 价值2。您可以随身携带的物品的最大总价值是多少 你,假设你的最大重量是maxW,你不能来 稍后再来拿东西

def背包灯(值1、权重1、值2、权重2、最大值):
return max(int)(weight1)这似乎是一个二进制背包问题。你研究过了吗?什么都找不到。你介意帮我吗?@oo92--你在网上搜索“二进制背包问题”时找不到任何东西吗?我找到了,但不知道如何把它应用到这个问题上。你想聊天吗
def knapsackLight(value1, weight1, value2, weight2, maxW):
    return max(int(weight1 <= maxW) * value1, 
    int(weight2 <= maxW) * value2, 
    int(weight1 + weight2 <= maxW) * (value1 + value2))