分割等和子集 二维DP

题目描述
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

示例 1:

输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。
示例 2:

输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

方法流程:
1.将问题转化为,对于一个数组,是否存在数组中n个元素的和为sum
2.一维DP无法表达这个问题,采用二维dp,dp[i][j]表示数组前i个元素任意组合能否凑出j。

posted @ 2022-05-01 21:25  无极是一种信仰  阅读(42)  评论(0)    收藏  举报