如果這看起來像是另一個問題 - 有很多解決方案,我沒找到我要找的東西,但我可能錯過了它。也道歉,如果標題不是最好的描述 - 不知道該怎麼說。實用的Perl解決方案,通過列表進行獨特組合排列
我有五個 '功能' 爲字符串,如:
$height $width $depth $length $colour
我想要得到所有不同獨特組合開始用5和下降到1如:
5: $height $width $depth $length $colour
4: $height $width $depth $length
4: $height $width $depth $colour
4: $height $width $length $colour
4: $height $depth $length $colour
4: $width $depth $length $colour
...
and so on
...
1: $height
1: $width
1: $depth
1: $length
1: $colour
我不知道它是否有所作爲,但在代碼中我打算使用&&
和!$string
,例如:
4: $height && $width && $depth && $length && !$colour
4: $height && $width && $depth && !$length && $colour
4: $height && $width && !$depth && $length && $colour
4: $height && !$width && $depth && $length && $colour
4: !$height && $width && $depth && $length && $colour
and so on.
當我有4個特徵時,我很好的做了這件事,但是它太過分了! 我認爲把變量放在哈希中可能會是一個很好的起點,但對於實際的算法......任何幫助表示讚賞!
編輯:剛剛意識到這可能不是很清楚,但我希望能夠「查詢」,因爲他們將在每個組合如果/ ELSIF語句,所以if (h && w && !d ...)
這是幹什麼用的?它聞起來像可能有更好的方法來解決你試圖解決這個問題。 – Schwern
有可能......這是一個我正在研究的項目,所有組合都與一組特定的sql語句相關,其中一些用戶具有他們選擇的任何功能,以影響結果。我現在必須找出最好的方法來做那些haha – dgBP
爲什麼你需要預先計算每個可能的排列? – Schwern