給出n個物品的體積a[i]和其價值v[i],將他們裝入乙個大小為m的揹包,最多能裝入的總價值有多大?
對於物品體積[2, 3, 5, 7]和對應的價值[1, 5, 2, 4], 假設揹包大小為10的話,最大能夠裝入的價值為9。
o(n x m) memory is acceptable, can you do it in o(m) memory?
a[i], v[i], n, m均為整數。你不能將物品進行切分。你所挑選的物品總體積需要小於等於給定的m。
class solution:
"""@param m: an integer m denotes the size of a backpack
@param a: given n items with size a[i]
@param v: given n items with value v[i]
@return: the maximum value
"""def backpackii(self, m, a, v):
# write your code here
dp = [0] * (m+1)
for (a, v) in zip(a, v):
for i in range(m, a-1, -1):
dp[i] = max(dp[i], dp[i-a] + v)
return dp[m]
lintcode 125 揹包問題 II
有 n 個物品和乙個大小為 m 的揹包.給定陣列 a 表示每個物品的大小和陣列 v 表示每個物品的價值.問最多能裝入揹包的總價值是多大?樣例 樣例 1 輸入 m 10,a 2 3,5 7 v 1 5,2 4 輸出 9解釋 裝入 a 1 和 a 3 可以得到最大價值,v 1 v 3 9 樣例 2 輸入...
LintCode 揹包問題
揹包問題 在n個物品中挑選若干物品裝入揹包,最多能裝多滿?假設揹包的大小為m,每個物品的大小為a i 您在真實的面試中是否遇到過這個題?yes 樣例如果有4個物品 2,3,5,7 如果揹包的大小為11,可以選擇 2,3,5 裝入揹包,最多可以裝滿10的空間。如果揹包的大小為12,可以選擇 2,3,7...
揹包問題 LintCode
在n個物品中挑選若干物品裝入揹包,最多能裝多滿?假設揹包的大小為m,每個物品的大小為a i 樣例 如果有4個物品 2,3,5,7 如果揹包的大小為11,可以選擇 2,3,5 裝入揹包,最多可以裝滿10的空間。如果揹包的大小為12,可以選擇 2,3,7 裝入揹包,最多可以裝滿12的空間。函式需要返回最...