【发布时间】:2014-02-11 01:45:20
【问题描述】:
我有数组
a = ["w1", "w2", "w3"]
如何生成包含每个值组合的新数组? 我需要输出如下所示:
["w1", "w2", "w3", "w1 w1", "w1 w2", "w1 w3", "w2 w1", "w2 w2", "w2 w3", "w3 w1", "w3 w2", "w3 w3", "w1 w1 w1", "w1 w1 w2", "w1 w1 w3", "w1 w2 w1", "w1 w2 w2", "w1 w2 w3", "w2 w1 w1", "w2 w1 w2", "w2 w1 w2", "w2 w1 w3", "w2 w2 w1", "w2 w2 w2", "w2 w2 w3", "w2 w3 w1", "w2 w3 w2", "w2 w3 w3", "w3 w1 w1", "w3 w1 w2", "w3 w1 w3", "w3 w2 w1", "w3 w2 w2", "w3 w2 w3", "w3 w3 w1", "w3 w3 w2", "w3 w3 w2"]
试试Generate array of all combinations of an existing array的代码
结果不正确
"w1", "w2", "w3", "w1 w2", "w1 w3", "w2 w3", "w1 w2 w3"]
【问题讨论】:
-
这不是错误的——它只是给出了没有重复的组合。而且您要求的是重复组合。
标签: ruby arrays algorithm combinations combinatorics