第26828题 单选
给定0/1背包问题的Python动态规划实现代码,横线处应填写的内容是?

假设物品重量为 weights[] ,价值为 values[] ,背包容量为 W ,代码如下:

def knapsack(W, weights, values):
    n = len(weights)
    dp = [[0] * (W + 1) for _ in range(n + 1)]

    for i in range(1, n + 1):
        for j in range(1, W + 1):
            if weights[i - 1] > j:
                dp[i][j] = dp[i - 1][j]
            else:
                dp[i][j] = max(__________________________________)
    return dp[n][W]
A

dp[i][j], dp[i - 1][j - weights[i - 1]] + values[i - 1]

B

dp[i - 1][j], dp[i][j - weights[i - 1]] + values[i - 1]

C

dp[i - 1][j], dp[i - 1][j - weights[i - 1]] + values[i - 1]

D

dp[i - 1][j], dp[i - 1][j - weights[i]] + values[i]

程序运行统计
暂无判题统计