代码随想录 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 @   不进育碧不改名  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示