有没有一种简单的方法可以在随机位置压缩 2 个数组并保持其原始顺序?
例如
a=[0,1,2,3,4,5,6,7,8,9,10]
b=["one","two","three","four"]
和一个从 0 到 5 的随机数rand(5)
zipped = [0,"one",1,2,3,"two",4,"three",5,6,7,8,"four",9,10]
并且随机序列将1,3,1,4
作为将 b 的每个元素“压缩”到 a 的位置
我能做的最好的就是
i=0
merged=a
b.each do |x|
rnd = rand(5)
merged.insert(i+rnd,x)
i=i+rnd
end