Skip to main content
added 27 characters in body
Source Link

Haskell, 8080 70 bytes

f l=map(filterl=filter(\n->not$any>all(\m->m>n&&all>m<=n||any(\s->notElem n s||elem m(&&).elem sn<*>all(/=m)l)$concat l)$l>>=id)l<$>l

Try it Online!Try it Online!

-10 bytes thanks to Wheat Wizard

Haskell, 80 bytes

f l=map(filter(\n->not$any(\m->m>n&&all(\s->notElem n s||elem m s)l)$concat l))l

Try it Online!

Haskell, 80 70 bytes

f l=filter(\n->all(\m->m<=n||any((&&).elem n<*>all(/=m))l)$l>>=id)<$>l

Try it Online!

-10 bytes thanks to Wheat Wizard

Source Link

Haskell, 80 bytes

f l=map(filter(\n->not$any(\m->m>n&&all(\s->notElem n s||elem m s)l)$concat l))l

Try it Online!