Update 0416.分割等和子集.md

This commit is contained in:
jianghongcheng
2023-06-04 05:48:05 -05:00
committed by GitHub
parent 5ab0a94c71
commit 212e8f8b39

View File

@ -349,7 +349,10 @@ class Solution:
dp[i][j] = dp[i - 1][j] dp[i][j] = dp[i - 1][j]
else: else:
# 当前数字小于等于目标和时,可以选择使用或不使用该数字 # 当前数字小于等于目标和时,可以选择使用或不使用该数字
dp[i][j] = dp[i - 1][j] or dp[i - 1][j - nums[i - 1]] # dp[i][j] = dp[i - 1][j] or dp[i - 1][j - nums[i - 1]]
# 当前数字小于等于目标和时,可以选择使用或不使用该数字的最大值
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - nums[i - 1]])
return dp[len(nums)][target_sum] return dp[len(nums)][target_sum]
@ -371,10 +374,11 @@ class Solution:
for num in nums: for num in nums:
# 从target_sum逆序迭代到num步长为-1 # 从target_sum逆序迭代到num步长为-1
for i in range(target_sum, num - 1, -1): for i in range(target_sum, num - 1, -1):
dp[i] = dp[i] or dp[i - num] dp[i] = max(dp[i], dp[i - num]) # 可以将其改成 dp[i] = dp[i] or dp[i - num]
return dp[target_sum] return dp[target_sum]
``` ```
### Go ### Go