diff --git a/problems/0416.分割等和子集.md b/problems/0416.分割等和子集.md index 341362ba..1f129312 100644 --- a/problems/0416.分割等和子集.md +++ b/problems/0416.分割等和子集.md @@ -349,10 +349,7 @@ class Solution: dp[i][j] = dp[i - 1][j] else: # 当前数字小于等于目标和时,可以选择使用或不使用该数字 - # 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]]) + dp[i][j] = dp[i - 1][j] or dp[i - 1][j - nums[i - 1]] return dp[len(nums)][target_sum] @@ -374,8 +371,7 @@ class Solution: for num in nums: # 从target_sum逆序迭代到num,步长为-1 for i in range(target_sum, num - 1, -1): - dp[i] = max(dp[i], dp[i - num]) # 可以将其改成 dp[i] = dp[i] or dp[i - num] - + dp[i] = dp[i] or dp[i - num] return dp[target_sum]