解题思路:
把石头堆分割成差不多的两堆,使得两堆差值最小
dp数组的含义:
dp[j]:背包容量为j的背包最大重量(价值)为dp[j]
dp[j] = max(dp[j],dp[j-stones[i]] + stones[i])
初始化:(dp数组的大小根据题目进行定义)
dp[0] = 0
其余非0下标也初始化为0
遍历顺序:
先物品再背包(倒序)
代码实现:求出dp[target]之后,求(sum - dp[target])-dp[target]
!!!注意dp数组的大小