我试图弄清楚如何创建一个仅包含仅出现一次的元素的新列表。我也不能使用递归。
这是更大功能的一小部分。我试图编写一个函数来获取两组的相交。基本上我组合了这些集合。然后排序。然后我想将它与集合 B 结合起来,并删除该集合中的所有重复项。除非其他人知道更简单的方法。
我可以使用高阶函数,但我不能使用递归。
谢谢
编辑:示例:
[1,2,3,3,4,4,5,5] 应该是 [1,2]
我试图弄清楚如何创建一个仅包含仅出现一次的元素的新列表。我也不能使用递归。
这是更大功能的一小部分。我试图编写一个函数来获取两组的相交。基本上我组合了这些集合。然后排序。然后我想将它与集合 B 结合起来,并删除该集合中的所有重复项。除非其他人知道更简单的方法。
我可以使用高阶函数,但我不能使用递归。
谢谢
编辑:示例:
[1,2,3,3,4,4,5,5] 应该是 [1,2]
这个问题之前已经被问过,基本上你只是想通过计算元素的数量将它们组合在一起,然后只提取那些计数为 1 的元素。(可能使用“过滤器”)
请参阅计算列表中的唯一元素
我希望这个提示足够模糊。:)
考虑将重复的元素组合在一起。
怎么样:
concat $ filter (null . tail) $ group [1,2,3,3,4,4,5,5]
想想你将使用什么数据结构来跟踪每件事出现的次数。