我正在尋找對以下問題的答案。查找給定的一組整數的總和達到給定總和的所有組合
給定一組整數(無重複項)和一個和,找出該組元素的所有可能組合總和。解決方案順序無關緊要(解{2,2,3}和{3,2,2}是相等的)。
請注意,最終組合不需要是一個集合,因爲它可以包含重複項。
實施例: 集{2,3,5} 薩姆10
結果: {2,2,2,2,2},{2,2,3,3},{2, 3,5},{5,5}
我已經看過子集合問題以及幣改變問題,但無法調整它們以適應我的需要。我對動態編程並不是很熟悉,所以它可能是可行的,但我無法弄清楚。
由於我正在處理相當大的元素集合(大約50),所以預計算所有集合都不是一個選項,因爲它需要很長時間。從子集合表中提取不同解決方案的方法將是可取的(如果可能的話)。
任何意見,提示或示例代碼,將不勝感激!
可能的複製[與總和薩姆數組值等於X](HTTP://計算器。com/questions/595707/sum-array-values-with-sum-equals-x) – TiMr
@TiMr對不起,但那個答案不是我正在尋找的。每個結果都是一個集合(沒有重複),但是我正在尋找一種方法來查找所有解決方案,包括那些具有多個相同元素的解決方案,就像我提供的示例一樣。 – Dzik
與subset-sum(它允許集合或多集合)或無界揹包沒有什麼不同。 –