从n个相同的数组中选择一个值,得到所有组合

时间:2015-07-05 20:09:55

标签: javascript linear-algebra

假设我有3个相同的数组,每个数组都是这样的:[1,2,3,4]

通过从每个数组中选择一个值,我想耗尽所有组合,因此在本例中,所需的结果将是:

[1,2,3], [1,2,4], [1,3,4],[2,3,4]

订单无关紧要。我目前正在迭代所有可能性,而且这太慢了。 我想首先做一个检查以确保迭代器大于它左边的那个,但是在1,4,...的情况下会因为第3个数组没有大于4的任何东西而失败。所以另外,我需要检查以确保每列的最大值不大于column length - (# of repeating columns - column position。例如第2列不能超过3.但我想我要走下兔子洞了。

有哪些聪明的方法可以在尽可能少的迭代中获得所需的结果?修改阵列也是公平的游戏。

0 个答案:

没有答案