Python有 n 個物品和一個大小為 m 的揹包. 給定陣列 A 表示每個物品的大小和陣列 V 表示每個物品的價值.。。
125. 揹包問題 II
有 n 個物品和一個大小為 m 的揹包. 給定陣列 A 表示每個物品的大小和陣列 V 表示每個物品的價值.
問最多能裝入揹包的總價值是多大?
程式碼
def backPackII(self, m, A, V):
dp = [[0] * (m + 1) for i in range(len(A) + 1)]
for i in range(1, len(A) + 1):
for j in range(1, m + 1):
dp[i][j] = dp[i - 1][j]
if j >= A[i - 1]:
dp[i][j] = max(dp[i - 1][j], dp[i -1][j - A[i - 1]] + V[i - 1])
return dp[i][j]
想法
狀態:n,m
選擇:放入與不放人
相關文章
- 2022-07-23:給定N件物品,每個物品有重量(w[i])、有價值(v[i]), 只能最多選兩件商品,重量不超過ba
- 不能使用for迴圈,傳入n和m, 生成一個長度為n,每一項都是m的陣列陣列
- 給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。陣列
- 給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- java opencv 獲取圖中物品的傾斜角度(單個物品,如果存在多個物品,建議先將多個物品處理成一個整體或分別切割開處理)JavaOpenCV
- 陣列中每個陣列元素出現的次數陣列
- 改進,從一個陣列中找出 N 個數,其和為 M 的所有可能陣列
- 從陣列中找出N個數,其和為M的所有可能陣列
- JavaScript遍歷陣列每一個元素JavaScript陣列
- 給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。陣列
- C/C++ 讀入一個整型陣列,陣列大小未知C++陣列
- 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用陣列
- Python多個陣列合並(拼接)為一個陣列Python陣列
- 怎樣用一個佇列和一個棧實現求一個表示式的值?佇列
- 尋找陣列中和為定值的兩個數陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 2022-07-13:給你一個整數陣列 arr ,你一開始在陣列的第一個元素處(下標為 0)。 每一步陣列
- 一個陣列和另一個陣列比較,如果第一個陣列裡面有的就不新增了陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 建立包含N個空物件的陣列物件陣列
- 給定陣列中找到最大的兩個數陣列
- 統計陣列元素中每個元素出現的次數陣列
- 給定一個按非遞減順序排序的整數陣列 A,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。排序陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 在一個給定的陣列中查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍, 如果是,則返回最大元素的索引,否則返回-1。陣列索引
- javascript 將一個陣列中的元素的值複製到另一個已有資料的陣列中JavaScript陣列
- 克隆一個陣列的方法陣列
- 給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列 輸入 一個連續整陣列成的陣列 輸出 子陣列相加的最大值 樣例輸入 -......陣列
- 獲取陣列第N個元素的方法陣列
- 給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。排序陣列索引
- C語言中陣列首地址和陣列第一個元素的地址有什麼區別C語言陣列
- 求解一個陣列的所有子集陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- 寫一個函式找出給定陣列中的最大差值函式陣列
- 從一個無序,不相等的陣列中,選取N個數,使其和為M實現演算法(javascript實現)陣列演算法JavaScript
- 349.兩個陣列的交集|python陣列Python