我需要在haskell中创建一个powerset函数,它接受一个集合并输出没有重复条目的电源集,而不管输入列表中的是什么。例如: 1,1应该返回[[],1]
powerset [] = [[]]
powerset (x:xs) = union((powerset xs)) (map (x:) (powerset xs))其中,union是一个先前定义的函数,它相邻两个集合,没有重复项。上述代码的问题是,它将重复项计数为原始条目,因此输入1,1返回[[],1,1,1]。
有什么想法吗?在触发powerset之前,我已经考虑过使用带有输入列表和空列表的联合来清除重复的内容,但我不确定这会是什么样子。
发布于 2015-03-27 11:46:10
nub函数)。https://stackoverflow.com/questions/29299878
复制相似问题