gpt4 book ai didi

Ruby 数组数组的所有可能排列(一个衬里?)

转载 作者:数据小太阳 更新时间:2023-10-29 06:37:08 25 4
gpt4 key购买 nike

之前有人在 SO 上提出过与此类似的问题,但它们并不是我所需要的,而且我似乎无法通过改变/修改这些方法来得出我的解决方案。

无论如何,我有一个数组数组,如下:

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"]

关于Ruby 数组数组的所有可能排列(一个衬里?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com