Sha256: b501cbb0db33850925716a70496a6010c415e5d0effb7e0ef848ecf92742a957
Contents?: true
Size: 477 Bytes
Versions: 6
Compression:
Stored size: 477 Bytes
Contents
require 'set' class Set # def power_set if empty? Set[ self ] else any_value = [to_a.first] subsubs = (self - any_value).power_set subsubs + subsubs.map{ |subset| subset + any_value } end end end class Array # def power_set if empty? [self] else subset = dup value = [ subset.pop ] subsubs = subset.power_set subsubs.concat( subsubs.map{ |subset| subset + value } ) end end end
Version data entries
6 entries across 5 versions & 1 rubygems