lintcode練習 125 揹包問題 II

2021-08-26 05:32:33 字數 715 閱讀 9489

給出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的空間。函式需要返回最...