【发布时间】:2013-05-15 22:05:15
【问题描述】:
我想生成所有可能的数组元素组合来填充占位符,占位符的大小可能会有所不同。
假设我有数组$a = array(3, 2, 9, 7),占位符大小是6。我想生成如下内容:
3,3,3,3,3,3
2,3,3,3,3,3
2,2,3,3,3,3
...........
...........
7,7,7,7,7,9
7,7,7,7,7,7
但是(2,3,3,3,3,3) 将被视为与(3,2,3,3,3,3) 相同,因此后一个不计算在内。
谁能指出我正确的方向?我知道有Math_Combinatoricspear 包,但那个只适用于占位符大小<= count($a)。
编辑 我在想这个类似于位串组合,尽管具有不同的数字基数
【问题讨论】:
-
这不太合乎逻辑,因为有些组合是任意的。这将取决于前面的组合来确定一个新的组合是否合法。虽然仍然可行。
-
如果
placeholder < count($a)怎么办? -
抱歉,想回答一下。从错误的领域开始。
-
@OfirBaruch:我知道是这样。确实会花费太多时间。不会给出答案。抱歉,没有那么多时间。
-
@nl-x 因为有时占位符可能大于
count($a)
标签: php arrays algorithm combinations