RosettaCodeData/Task/Set-consolidation/Ruby/set-consolidation.rb

14 lines
341 B
Ruby
Raw Permalink Normal View History

2014-01-17 05:32:22 +00:00
require 'set'
2015-02-20 00:35:01 -05:00
tests = [[[:A,:B], [:C,:D]],
[[:A,:B], [:B,:D]],
[[:A,:B], [:C,:D], [:D,:B]],
[[:H,:I,:K], [:A,:B], [:C,:D], [:D,:B], [:F,:G,:H]]]
tests.map!{|sets| sets.map(&:to_set)}
2014-01-17 05:32:22 +00:00
2015-02-20 00:35:01 -05:00
tests.each do |sets|
until sets.combination(2).none?{|a,b| a.merge(b) && sets.delete(b) if a.intersect?(b)}
2014-01-17 05:32:22 +00:00
end
p sets
end