416. 分割等和子集

题目链接:416. 分割等和子集 - 力扣(LeetCode)

 

 

 

 

 

 

 

 

 

 

 

解析:

  • 计算数组总和 sum。如果 sum是奇数,直接返回 false,因为无法平分。
  • 设目标值 target = sum / 2
  • 问题转化为 0-1背包问题:从数组中选择若干个数,使得它们的和恰好等于 target
  • 使用动态规划求解:
    • 定义 dp[j]表示能否凑出和为 j
    • 初始化 dp[0] = true(空集和为0)。
    • 遍历每个数字 num倒序更新 dp数组:dp[j] = dp[j] || dp[j - num]jtargetnum)。
  • 最终返回 dp[target]

 

posted @ 2026-03-28 14:52  WTSRUVF  阅读(2)  评论(0)    收藏  举报