我正在做一個名爲Thirty的骰子游戲,用Java編寫。我有一個像[1,3,4,5,5,6]這樣的骰子值的數組。從那個數組中,我希望能夠找到給定數量的每個組,但每個骰子只能計算一次。例如,如果我有數組[1,3,4,5,5,6]並且想要找到等於12的每個組,那麼這將給我例如1 + 5 + 6 = 12和3+ 4 + 5 = 12。檢查數組中的總和Java
而且有一個像[1,1,1,1,2,6]這樣的例子,我會得到1 + 1 + 1 + 1 + 2 + 6 = 12。
總是會有6個骰子,但我正在尋找的總和可以是4和12
之間的任何一個人可以幫我嗎?我真的沒有任何代碼可以提供,只會令人困惑,根本沒有幫助。
我覺得這個問題可以用貪心算法來解決,看看http://www.tutorialspoint.com/data_structures_algorithms/greedy_algorithms.htm – dty
你應該在圖形考慮尋找中,每個數字是圖中的節點及其鄰居是其他節點。然後,通過在每個節點上進行修改的寬度優先搜索來使用強力檢查每個單一組合,以查看它是否等於總和。 –
相關:http://codereview.stackexchange.com/questions/36214/find-all-subsets-of-an-int-array-whose-sums-equal-a-given-target –