gpt4 book ai didi

haskell - 没有重复的 Powerset

转载 作者:行者123 更新时间:2023-12-02 15:36:07 26 4
gpt4 key购买 nike

我需要在 haskell 中创建一个幂集函数,它接受一个集合并输出没有重复条目的幂集,无论输入列表中放入什么。例如:[1,1] 应返回 [[],[1]]

    powerset [] = [[]]
powerset (x:xs) = union((powerset xs)) (map (x:) (powerset xs))

其中 union 是先前定义的函数,它连接两个集合且不重复。上述代码的问题在于,它将重复项计为原始条目,因此输入 [1,1] 返回 [[],[1],[1],[1,1]]。

有什么想法吗?我曾考虑过在触发 powerset 之前使用与输入列表和空列表的联合来清除重复项,但我不确定这会是什么样子。

最佳答案

  1. 从给定列表中删除所有重复项(您可以使用 nub 函数)。

  2. 运行您现在使用的算法。

关于haskell - 没有重复的 Powerset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com