所以我目前正在創建一個變量的可能值的域的域,在我的情況下是一個字符數組。因爲我將使用的數據並不是非常小,即使是這樣,在每個char插槽中都可以接受2個值,但是11個插槽陣列可能會有2^11個可能的值,這實際上並不是您想要的陣列數量有。在數組中獲取受限組合
因爲這個,而不是減少後來的teh約束域我試圖生成的域已經基於約束。
約束條件基本上說明了許多相同字符和塊的順序。它看起來是這樣的:
#,2,G,1
可以說這是我的限制和數組的大小爲5,空數組看起來像這樣
[_][_][_][_][_]
我現在可以創建一個元素在限制條件下將所有內容簡單地堆疊到起始域。
[#][#][G][_][_]
但是現在,我需要生成的這個所有其他可能的變型,它們是:
[#][#][_][G][_]
[#][#][_][_][G]
[_][#][#][G][_]
[_][#][#][_][G]
[_][_][#][#][G]
喜歡我已成功地設法從2減少域的元素^ 5至6.
然後問題:任何人都可以提供一個方法嗎?不必是代碼,只是一個基本的想法可能會足夠
太棒了!什麼是問題? – 2013-03-21 23:36:36
對不起,應該更清楚了。編輯。 – OsaSoft 2013-03-21 23:39:27
總是有[brute-force](http://en.wikipedia.org/wiki/Brute-force_search)方法,但我發現Tim Bender的解決方案更有趣。 – linski 2013-03-21 23:58:00