代码随想录 day36 最后一块石头的重量 II | 目标和 | 一和零

最后一块石头的重量 II

最后一块石头的重量 II

解题思路

把数组根据和拆分为两半,一半是dp[target],另一半是sum - dp[target]。随后利用背包问题的思路求得dp[target]。当设置dp数组容量时,应当为最大的数值。

知识点

背包问题

心得

没想到拆分的解法和正确设置dp数组的大小

目标和

目标和

解题思路

涉及到一个想不到的数学推导,需要计算得到的值为target,根据题目要求必有两个集合的和 A - B = target。 同时 A + B = sum,所有我们可以得到其中一个集合为 A = (target + sum) / 2。根据这个值进行背包问题的处理,就能得到

知识点

背包问题

心得

这个数学推导根本想不到,太难了。

一和零

一和零

解题思路

这是一个二维的背包问题,我们需要找到同时满足m,n的值,所以在原有的基础上再多加一层循环即可

知识点

背包问题

心得

好难的题目,又增添了一个新思路

posted @ 2024-07-27 00:10  不进育碧不改名  阅读(96)  评论(0编辑  收藏  举报