码迷,mamicode.com
首页 > 编程语言 > 详细

九章算法面试题59 背包问题II

时间:2015-05-13 10:27:33      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:动态规划   背包问题   leetcode   九章算法   lintcode   

九章算法官网-原文网址


http://www.jiuzhang.com/problem/59/


题目

有一个大小为m(整数)的背包,和n个体积(大小分别为A[i](整数))和价值(价格分别为B[i](整数))的物品。将这n个物品选一些装到背包中,请问能装价值最大为多少的物品?


在线测试本题

http://www.lintcode.com/en/problem/backpack-ii/


解答

设F[i][j]为前i个物品,选一些组成j的体积,能够获得最大的价值是多少。状态转移方程:f[i][j] = max(f[i-1][j], f[i-1][j-A[i]] + B[i])答案为F[n][0..m] 中取一个最大值。

面试官角度

背包问题是比较常见的面试问题之一。一般来说常见的背包问题的解法需要熟知和熟练。

以下是几道背包问题的在线练习:

 http://www.lintcode.com/zh-cn/problem/backpack/

http://www.lintcode.com/zh-cn/problem/backpack-ii/

http://www.lintcode.com/zh-cn/problem/minimum-adjustment-cost/

九章算法面试题59 背包问题II

标签:动态规划   背包问题   leetcode   九章算法   lintcode   

原文地址:http://blog.csdn.net/jiuzhang_ninechapter/article/details/45681467

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!