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
選擇:放入與不放人
相關文章
- 不能使用for迴圈,傳入n和m, 生成一個長度為n,每一項都是m的陣列陣列
- javascript將陣列的元素每兩個一組存入一個新陣列JavaScript陣列
- 將一個陣列賦值給另外一個陣列陣列賦值
- 給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。陣列
- java opencv 獲取圖中物品的傾斜角度(單個物品,如果存在多個物品,建議先將多個物品處理成一個整體或分別切割開處理)JavaOpenCV
- 給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。陣列
- 陣列中每個陣列元素出現的次數陣列
- 改進,從一個陣列中找出 N 個數,其和為 M 的所有可能陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- 從陣列中找出N個數,其和為M的所有可能陣列
- JavaScript遍歷陣列每一個元素JavaScript陣列
- 給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。陣列
- 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用陣列
- javascript如何遍歷陣列中的每一個元素JavaScript陣列
- C/C++ 讀入一個整型陣列,陣列大小未知C++陣列
- Python多個陣列合並(拼接)為一個陣列Python陣列
- POJ 2442-Sequence(優先佇列-m組n個數每組取一個求n個最小值)佇列
- 怎樣用一個佇列和一個棧實現求一個表示式的值?佇列
- javascript實現的對陣列每一個元素都執行一個函式JavaScript陣列函式
- 尋找陣列中和為定值的兩個數陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 一個陣列和另一個陣列比較,如果第一個陣列裡面有的就不新增了陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 如何將一個陣列中的元素插入另一個陣列陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 在陣列中尋找和為指定值的兩個數陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 建立包含N個空物件的陣列物件陣列
- 給定陣列中找到最大的兩個數陣列
- C++通過輸入數來確定一個陣列的動態大小C++陣列
- 統計陣列元素中每個元素出現的次數陣列
- 計算陣列中每個數字出現的次數陣列
- javascript如何獲取陣列的長度和遍歷陣列的每一項JavaScript陣列
- 2022-07-13:給你一個整數陣列 arr ,你一開始在陣列的第一個元素處(下標為 0)。 每一步陣列
- javascript 將一個陣列中的元素的值複製到另一個已有資料的陣列中JavaScript陣列
- 給定一個按非遞減順序排序的整數陣列 A,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。排序陣列
- 克隆一個陣列的方法陣列
- 在一個給定的陣列中查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍, 如果是,則返回最大元素的索引,否則返回-1。陣列索引