第11766题 单选
计算给定0-1背包问题动态规划Python代码的输出结果

阅读以下用动态规划解决0-1背包问题的Python函数,已知背包容量W为10kg,4个物品的重量weights分别为1, 3, 4, 6(单位kg),每个物品对应的价值values分别为20, 30, 50, 60,请问该函数的输出为( )。

def knapsack(capacity, weights, values):
    dp = [[0 for _ in range(capacity + 1)] for _ in range(len(weights) + 1)]
    for i in range(1, len(weights) + 1):
        for j in range(1, capacity + 1):
            if weights[i - 1] <= j:
                dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weights[i - 1]] + values[i - 1])
            else:
                dp[i][j] = dp[i - 1][j]
    return dp[-1][-1]
weights = [1, 3, 4, 6]
values = [20, 30, 50, 60]
capacity = 10
print(knapsack(capacity, weights, values))
A

90

B

100

C

110

D

140

提交0次 正确率0.00%
答案解析