Ruby数组阵列的所有可能排列(一个衬垫?)
发布时间:2020-12-16 19:57:50 所属栏目:百科 来源:网络整理
导读:在此之前曾经问过类似的问题,但是它们并不完全是我需要的,我似乎无法通过修改/修改这些方法来达成我的解决方案. 在任何情况下,我有一个数组,如下所示: b= [["1"],["2"],["3"],["4"],["5"],["6"]] (如果它更容易到达解,b也可以是一维数组,如下所示:[“1”,
在此之前曾经问过类似的问题,但是它们并不完全是我需要的,我似乎无法通过修改/修改这些方法来达成我的解决方案.
在任何情况下,我有一个数组,如下所示: b= [["1"],["2"],["3"],["4"],["5"],["6"]] (如果它更容易到达解,b也可以是一维数组,如下所示:[“1”,“2”,“3”,“4”,“5”,“6”].任何一种类型的输入都可以满足我的需要.) 我想生成以下内容: [["123456"],["213456"],["312456"],...] 其中输出数组中的每个数组都是六个数字的唯一排列.我也会把它作为一个单一的数组(例如[“123456”,“213456”,…]).输出的顺序不是特别重要,只要每个条目是唯一的,并且没有数字在字符串中重复(例如,“112345”不被允许).所有6个数字也必须在每个条目中使用,所以我对增量输出也不感兴趣,如“123”. 这听起来像这样,这不是一个家庭作业的问题.我可以为了这件事而得到我需要的输出.我只是觉得有一个更好,更优雅的解决方案. 解决方法
与
Array#permutation:
permutations = (1..6).to_a.permutation.map(&:join) # ["123456","123465","123546",...,"654312","654321"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |