题目链接
啊啊啊看到题就知道应该是用动态规划,但是具体怎么做好像没什么思路。然后点开题解,就看到其实可以转换成”将石头分成两堆,不断缩小两堆石头重量的差值,最小差值即为最小剩余重量“,机智啊,这就转换成01背包问题了啊。 哦不过我又忘了01背包咋做了,虽然参考之前的“分割等和子集”写出来了但是好像不知道怎么把得到的结果转化成答案…哦发现错误了,原来是因为我的最大重量是上取整的,改成下取整就对了。这个算法的时间复杂度是O(N),空间复杂度是O(NM)。然后实现2是优化了空间之后的,空间复杂度给减少到了O(N)。