gpt4 book ai didi

ruby - 在 ruby​​ 中合并数组项

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

给定一个数组数组[[“B”、“C”、“E”、“F”]、[“A”、“B”、“C”、“D”]、[“G”]]

合并包含由任何两个或多个数组项共享的成员的数组项的最简单方法是什么。例如上面应该是[["A", "B", "C", "D","E", "F"], ["G"]] 因为“B”和“C”是共享的通过第一个和第二个数组项。

这里还有一些测试用例。

[["B", "C", "E", "F"], ["A", "B", "C", "D"], ["F", "G"]]
=> [["A", "B", "C", "D", "E", "F", "G"]]

[["B", "C", "E", "F"], ["A", "B", "C", "D"], ["G"], ["G", "H"]]
=> [["A", "B", "C", "D", "E", "F"], ["G", "H,"]]

最佳答案

这是我确定可以优化的快速版本:)

# array = [["B", "C", "E", "F"], ["A", "B", "C", "D"], ["G"]]
# array = [["B", "C", "E", "F"], ["A", "B", "C", "D"], ["F", "G"]]
array = [["B", "C", "E", "F"], ["A", "B", "C", "D"], ["G"], ["G", "H"]]

array.collect! do |e|
t = e
e.each do |f|
array.each do |a|
if a.index(f)
t = t | a
end
end
end
e = t.sort
end

p array.uniq

关于ruby - 在 ruby​​ 中合并数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1673793/

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