我一直在尋找一段時間來嘗試爲某個問題達成某種解決方案,這個問題目前正在阻礙我正在嘗試的任務去完成。 我遇到過其他編程語言的一些解決方案,儘管我嘗試這麼做,但我實在無法理解。我還看到了很多關於這個問題的術語,例如排列,重構,子集總和,一美元硬幣等。尋找一個數字的潛在組合(給定一個數字集可供選擇)
如果我正在討論這個錯誤的方法,請隨時讓我知道。
這裏的果殼中的問題:給定一組(陣列)數字
, 例如:2, 3, 7, 14
, 我怎麼能找到的那些數字的組合加起來(或等於)特定總和,例如:14
。
對於上面的例子中號的一些可能的組合的一個例子:
3 + 3 + 3 + 3 + 2
7 + 3 + 2 + 2
7 + 7
14
因爲我試圖解決的問題是在PHP,我想如果有一個解決方案愛可以用這種語言提供。如果不是的話,即使有人能更好地解釋我想解決的問題,以及這樣做的潛在方法,我會非常感激。或者如果我可能會以這種錯誤的方式進行討論,那麼我全都是耳朵。
通過動態規劃思考 – sashas 2015-02-11 11:51:21
您是在尋找實際的組合,或者只是其中有多少?可能有指數級的組合,所以如果你真的需要所有的組合,它會快速增長(但是找到它們的數量對於較小的整數更容易) – amit 2015-02-11 12:33:25
我需要實際的組合。數字集是預定義集的一部分(不是動態的),它們幾乎被設置爲[3,4,5,6,7,14],並且變量和的範圍將處於1 -30。我想基於這些值的結果集不應該太過失控。 – 2015-02-11 12:41:36