我的代码需要多次计算数组与其自身的笛卡尔积。例如,如果我的数组是 [1,2]
并且我需要将这些值填充到三个槽中,则结果将是:
[1,1,1]
[1,1,2]
[1,2,1]
[1,2,2]
[2,1,1]
[2,1,2]
[2,2,1]
[2,2,2]
最简单的方法是什么?
最佳答案
幸运的是,您可能正在从标准库中寻找重复排列和 Ruby 的 Array
implements this :
[1,2].repeated_permutation(3).to_a
# [[1, 1, 1], [1, 1, 2], [1, 2, 1], [1, 2, 2], [2, 1, 1], [2, 1, 2], [2, 2, 1], [2, 2, 2]]
关于ruby - 笛卡尔幂(具有自任意次的笛卡尔积),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21347083/