判断0-1背包一维动态规划内层逆序循环改为正序遍历后是否仍能得到正确答案

tf407625 判断题 共 个子题

以下代码实现了0-1背包问题的一维动态规划解法,内层循环采用经典的逆序遍历方式。若将内层循环改为正序遍历(即 for j in range(w[i], W + 1):),判断"仍能得到正确答案"这一说法是否正确。

def knapsack_01():
  W = 5
  w = [2, 3, 4]
  v = [10, 1, 1]
  n = 3
  dp = [0] * (W + 1)

  for i in range(n):
    for j in range(W, w[i] - 1, -1):
      dp[j] = max(dp[j], dp[j - w[i]] + v[i])

  print(dp[W])

knapsack_01()
A

正确

B

错误

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧