修复0494.目标和题目Python二维DP解法中的错误

在遍历过程中,只有j >= 本次遍历元素才可以选取当前元素,原代码中错写为j>=nums[i-1],修复后变为j>=nums[i],提交才可以通过leetcode所有用例。
This commit is contained in:
zkws 2025-07-16 17:21:14 +08:00
parent 7aa973b561
commit 0afc3f7d7a
1 changed files with 1 additions and 1 deletions

View File

@ -684,7 +684,7 @@ class Solution:
for i in range(1, len(nums)): for i in range(1, len(nums)):
for j in range(target_sum + 1): for j in range(target_sum + 1):
dp[i][j] = dp[i - 1][j] # 不选取当前元素 dp[i][j] = dp[i - 1][j] # 不选取当前元素
if j >= nums[i - 1]: if j >= nums[i]: #只有j >= 本次遍历元素才可以选取当前元素
dp[i][j] += dp[i - 1][j - nums[i]] # 选取当前元素 dp[i][j] += dp[i - 1][j - nums[i]] # 选取当前元素
return dp[len(nums)-1][target_sum] # 返回达到目标和的方案数 return dp[len(nums)-1][target_sum] # 返回达到目标和的方案数