我在教自己的基本編程原則,而且我被困在動態編程問題上。讓我們看看臭名昭着的揹包問題:保持動態編程步驟的跟蹤
給定一組項目,每個項目都有一個權重和一個值,確定要包括在一個集合中的每個項目的計數,以便總權重小於或等於給定限制總價值儘可能大。我們將權重限制設置爲10,並且給出兩個列表:權重= [2,4,7]和值= [8,4,9](我剛剛完成了這些)。我可以編寫代碼給出約束條件下的最大值 - 這不是問題。但是如果我想知道我實際上最終使用了什麼值,那麼呢?不是總價值 - 個人價值。因此,對於這個例子,最大值將是權重爲2和7的對象,總值爲8 + 9 = 17。儘管如此,我不想讓我的答案閱讀「17」 - 我想要輸出一個列表如:(8,9)。這個問題可能很容易,但我正在處理的問題使用的列表要大得多,並且有重複的數字(例如,多個對象的值爲8)。
讓我知道任何人都可以想到任何事情。一如以往,對社區的熱愛和欣賞。
「*臭名昭着的揹包問題」? –