本文主要是介绍leetcode1049:最后一块石头的重量二,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:
把石头堆分割成差不多的两堆,使得两堆差值最小
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数组的大小
这篇关于leetcode1049:最后一块石头的重量二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!