优秀的人,不是不合群,而是他们合群的人里面没有你"> 背包问题II 发表于 2017-03-27 更新于 2022-05-17 分类于 算法题 热度: ℃ 评论: ℃ 字数: 167 阅读时长 ≈ 1 分钟 lintcode题目 题目描述给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大? 思路动态规划。依靠限定条件:大小为m的背包,创建结果集buf[m+1]每次访问一个新元素A[i],更新结果集buf[]buf[j] = Math.max(buf[j],buf[j-A[i]]+V[i]) 代码123456789public int backPackII(int m, int[] A, int V[]) { int[] buf = new int[m+1]; for(int i = 0; i < A.length; i++){ for(int j = m; j >= A[i]; j--){ buf[j] = Math.max(buf[j],buf[j-A[i]]+V[i]); } } return buf[m]; } 考察点 动态规划 本文作者: 西米大人 本文链接: http://dcbupt.github.io/2017/03/27/blog_article/算法/背包问题II/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!