從長遠來看,這將用于查找拼寫另一個單詞的單詞組。(用于縱橫字謎)
但現在我只想知道一種廣義算法,來計算用求和得到數字的方法。
假設我有一個6個字母的單詞,從子單詞“創建”該單詞的唯一可能方法是長度為5,4,3,2,1的單詞(我猜是該單詞的單詞和單詞變位):
6 = 6
6 = 5 + 1
6 = 4 + 2
6 = 4 + 1 + 1
6 = 3 + 3
6 = 3 + 2 + 1
6 = 3 + 1 + 1 + 1
6 = 2 + 2 + 2
6 = 2 + 2 + 1 + 1
6 = 2 + 1 + 1 + 1 + 1
6 = 1 + 1 + 1 + 1 + 1 + 1
所以我想讓代碼在python的數組中生成這個單詞,這樣我就可以查找長度組合的單詞。我可能想排除1個字母的單詞和相同長度的單詞,但因為最多只有26個(在英語中只有I和a,也許如果你包括俚語U),我認為這不會使它太復雜。
這不需要太優化,因為通常像15這樣的值是我要達到的最高值(我甚至可以把它全部打印出來,然后我就有了它pre-solved,但對于15來說這是一個合理的值。
這是你的問題的遞歸解決方案。我們基本上檢查所有可能的總和組合,直到找到一個有效的組合,然后將其添加到總和列表中。
Output: