【发布时间】:2012-02-26 18:11:26
【问题描述】:
我需要发现某些具有特定字符的数组的所有可能组合。
让我解释一下。
我有这个文本,其中向量组织为行:
1342;-;+;V;+;-;V;V;V;ND;-;-;ND;ND;+;+;ND;-;ND;ND;ND;-;+;ND;+;-;-;-;ND;-;-;ND;ND;-;ND;ND;F;ND
2343;-;-;-;-;-;-;ND;-;ND;-;-;ND;ND;-;V;ND;V;ND;ND;ND;-;+;ND;-;-;-;V;ND;V;-;ND;ND;-;ND;ND;O;ND
2344;-;-;-;-;-;-;ND;-;ND;-;ND;ND;ND;ND;+;ND;+;ND;ND;ND;-;+;ND;+;-;-;-;ND;V;ND;ND;ND;-;ND;ND;O;ND
2345;-;V;V;+;V;V;ND;-;+;-;-;-;ND;-;V;ND;+;ND;V;ND;-;+;ND;-;-;-;-;V;-;+;ND;ND;-;-;+;F;-
每一行都是一个向量。属性值用“;”分隔
- 所有可能的值为:数字、+、-、O、F、ND 和 'V'
- 但字符 V 表示 + 和 -
当向量在任何属性中具有字符“V”时,我需要检查每一行 因为如果有这意味着必须将这一行复制到 V 的所有可能性。
看这个小例子:
109 ; + ; - ; V ; ND ; +
我检查了这一行有一个或多个“V”,所以现在将计算可以为这一行生成的所有可能性
我们知道 V = + 和 - 所以这一行会生成:
109 ; + ; - ; + ; ND ; +
109 ; + ; - ; - ; ND ; +
因为我们只有一个 V,所以我们将有 2 种可能性......问题是当有多个“V”时......如何计算它的所有组合......
在使用所有行组合创建新文本时,新文本不得包含带有“V”的原始行。 请注意,所有其他属性值保持不变。
谢谢,
【问题讨论】:
标签: php arrays string combinations combinatorics