Set consolidation: Difference between revisions
Content added Content deleted
Line 637: | Line 637: | ||
[D, A, B, C] |
[D, A, B, C] |
||
[F, G, H, I, K] [D, A, B, C]</pre> |
[F, G, H, I, K] [D, A, B, C]</pre> |
||
=={{header | Mathematica}}== |
|||
<lang Mathematica> |
|||
reduce[x_] := |
|||
Block[{pairs, unique}, |
|||
pairs = |
|||
DeleteCases[ |
|||
Subsets[Range@ |
|||
Length@x, {2}], _?(Intersection @@ x[[#]] == {} &)]; |
|||
unique = Complement[Range@Length@x, Flatten@pairs]; |
|||
Join[Union[Flatten[x[[#]]]] & /@ pairs, x[[unique]]]] |
|||
consolidate[x__] := FixedPoint[reduce, {x}]</lang> |
|||
=={{header|OCaml}}== |
=={{header|OCaml}}== |