2

我试图弄清楚如何创建一个仅包含仅出现一次的元素的新列表。我也不能使用递归。

这是更大功能的一小部分。我试图编写一个函数来获取两组的相交。基本上我组合了这些集合。然后排序。然后我想将它与集合 B 结合起来,并删除该集合中的所有重复项。除非其他人知道更简单的方法。

我可以使用高阶函数,但我不能使用递归。

谢谢

编辑:示例:

[1,2,3,3,4,4,5,5] 应该是 [1,2]

4

4 回答 4

2

这个问题之前已经被问过,基本上你只是想通过计算元素的数量将它们组合在一起,然后只提取那些计数为 1 的元素。(可能使用“过滤器”

请参阅计算列表中的唯一元素

于 2010-09-28T02:18:06.343 回答
1

我希望这个提示足够模糊。:)

考虑将重复的元素组合在一起。

于 2010-09-28T01:51:47.243 回答
1

怎么样:

concat $ filter (null . tail) $ group [1,2,3,3,4,4,5,5]
于 2010-10-19T13:50:02.807 回答
1

想想你将使用什么数据结构来跟踪每件事出现的次数。

于 2010-09-28T02:10:35.043 回答