Ruby on rails 查找数组的Ruby数组的所有置换
假设我有以下数组的输入数组:Ruby on rails 查找数组的Ruby数组的所有置换,ruby-on-rails,ruby,Ruby On Rails,Ruby,假设我有以下数组的输入数组: [[1],[2,3],[4,5],[6]] 我想制作所有这样的排列: [[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,5,6]] 用Ruby做这件事的好方法是什么?或者真的有什么办法吗?我觉得有一个我看不到的优雅解决方案。您需要的是笛卡尔积。比如: 产品([2,3],[4,5],[6])#=>[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,4,6],[1,3,5,6]。那么我们如何概括这一点呢?假设我的初始数组是ar
[[1],[2,3],[4,5],[6]]
我想制作所有这样的排列:
[[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,5,6]]
用Ruby做这件事的好方法是什么?或者真的有什么办法吗?我觉得有一个我看不到的优雅解决方案。您需要的是笛卡尔积。比如:
产品([2,3],[4,5],[6])#=>[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,4,6],[1,3,5,6]。那么我们如何概括这一点呢?假设我的初始数组是
arr
。。。这是arr[0]。产品(arr[1..-1])
还是什么?(不是,我已经试过了:)-几乎-您需要将参数设置为product,如arr[0]。product(*arr[1..-1])
Man,不错!非常感谢!