代码随想录算法训练营Day36||动态规划part04

494.目标和:本题的方法主要用来解决------装满容量为x的背包,有几种方法

可以先理解二维数组的思路:感觉b站一个评论写得很清晰,借用一下。

这题最难理解的地方在于如何初始化数组,为什么dp[0]=1;我试图自己理解一下,关于题目,我举几个实例,即什么时候会出现dp[0]。

首先,数组和与target互为相反数,比如数组元素和为2,target为-2,这个时候bagsize为0,显然唯一一种方法为所有元素取符号,即dp[0]=1;

其次,就是数组中只包含0,target也为0, 假如只有一个0,dp[0]也会累加一次得到2,和实际相符。假如有多个0,例如有2个0, 写成二维数组就是1,2,4一列,一维数组也是,每次循环dp[0]都会翻倍,数组中有0个零就会有2^n种方法。

1049.最后一块石头的重量II: 和分割等和子集类似,可以转化为求背包中最大价值问题,背包容量为数组总和的一半。

今天目标和问题着实有点费时间理解了,一和零问题留明天吧。

相关推荐

  1. 代码随想算法训练day54|第九章 动态规划part15

    2024-07-12 07:44:03       41 阅读
  2. 代码随想训练32day-动态规划5

    2024-07-12 07:44:03       30 阅读
  3. 随想算法训练39 | 动态规划part02

    2024-07-12 07:44:03       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 07:44:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 07:44:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 07:44:03       58 阅读
  4. Python语言-面向对象

    2024-07-12 07:44:03       69 阅读

热门阅读

  1. yolo8识别图像中人物的个数

    2024-07-12 07:44:03       24 阅读
  2. 数据建设实践之大数据平台(二)

    2024-07-12 07:44:03       23 阅读
  3. promise中reject和catch处理上有什么区别

    2024-07-12 07:44:03       23 阅读
  4. [AHK V2]SQLite测试用例

    2024-07-12 07:44:03       25 阅读
  5. Python实现图像添加水印的方法

    2024-07-12 07:44:03       23 阅读
  6. Elasticsearch集群-实现自动补全

    2024-07-12 07:44:03       28 阅读
  7. Spring依赖注入、循环依赖——三级缓存

    2024-07-12 07:44:03       31 阅读
  8. 【WPF】Enum与Converter的使用

    2024-07-12 07:44:03       25 阅读