I have a multi-dimensional array ; a=[[2,3,4],[1,3,4],[1,2],[1,2,3,4]]

i’ve to compare all the 4 sub-arrays and get common elements.Next,take 3

subarrays at a time and get common elements.then take 2 sub arrays at a

time and get common elements.

Hello,

2010/4/6 Shreyas S. [email protected]:

I have a multi-dimensional array ; a=[[2,3,4],[1,3,4],[1,2],[1,2,3,4]]

i’ve to compare all the 4 sub-arrays and get common elements.Next,take 3

subarrays at a time and get common elements.then take 2 sub arrays at a

time and get common elements.

Have a look to Array#combination to group your subarrays into

comparison sets and then use the Set class (require ‘set’) and it’s

intersection instance method to get the common elements.

Cheers,

Shreyas S. wrote:

I have a multi-dimensional array ; a=[[2,3,4],[1,3,4],[1,2],[1,2,3,4]]

i’ve to compare all the 4 sub-arrays and get common elements.Next,take 3

subarrays at a time and get common elements.then take 2 sub arrays at a

time and get common elements.

Well, the way to get common elements between arrays is with the

“intersection” method:

class Array - RDoc Documentation (of course,

available as a Set operation too:

http://ruby-doc.org/core/classes/Set.html#M001621)

And what you’re looking for is a brute-force way to compare all subsets

of all possible sizes with other subsets of the same size. I’ll leave

that one as an exercise.