有没有一种简单的方法可以找到二维数组的交集?例如:
arr1 = [1,2,3,4,5]
arr2 = [5,6,7,8]
arr3 = [5]
bigarr = [arr1,arr1,arr3]
我知道有可能做到:
intersection = arr1 & arr2 & arr3 # => 5
intersection = big_arr[0] & big_arr[1] & big_arr[2] # => 5
但是
big_arr
中的元素数量会有所不同。我想知道是否有一种简单的方法来交叉big_arr
中的所有元素,而不考虑元素的数量。 最佳答案
使用#reduce
like
arr1 = [1,2,3,4,5]
arr2 = [5,6,7,8]
arr3 = [5]
bigarr = [arr1,arr2,arr3]
bigarr.reduce(:&) # => [5]
关于ruby - 二维数组的交集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28637273/