gpt4 book ai didi

ruby - 如何在不影响第一维的情况下加入第二维或第三维数组项

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:52 24 4
gpt4 key购买 nike

我正在尝试创建一个数组来显示给定数字输入的每个数字排列。对于给定的输入 "123",数组应该如下所示:

["123", "132", "213", "231", "312", "321"]

我可以获得一个包含单独数字数组的数组:

a = []
"123".split('').each {|n| a.push(n) }
arraycombinations = a.permutation(a.length).to_a
# => [["1", "2", "3"], ["1", "3", "2"], ["2", "1", "3"], ["2", "3", "1"], ["3", "1", "2"], ["3", "2", "1"]]

但我不知道如何在保留第一维的同时加入 arraycombinations 的第二维或第三维。

这些尝试中的每一个都失败了:

arraycombinations.map {|x| print arraycombinations.join("") }
arraycombinations.map {|ar| ar.split(",") }
arraycombinations.each {|index| arraycombinations(index).join("") }

如何隔离 join 函数以仅应用于多维数组中的第二个维度?

最佳答案

假设您已经有一个数组数组,例如

a = [["1","2","3"],["1","3","2"],["2","1","3"],["2","3","1"], ["3","1","2"],["3","2","1"]]

a.map { |i| i.join}
#=>["123", "132", "213", "231", "312", "321"]

关于ruby - 如何在不影响第一维的情况下加入第二维或第三维数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832429/

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