Racket-如何返回只出现一次的元素列表?

Racket-如何返回只出现一次的元素列表?,racket,higher-order-functions,Racket,Higher Order Functions,如何编写一个函数来使用一个列表并返回一个只出现一次的元素列表?这将通过高阶函数(如fold、map或filter)实现,而不是使用显式递归 示例:(列表2 3 67 2 67 1)->(列表3 1)问题中没有代码->答案中没有代码 总的想法是: 迭代列表并对每个列表进行计数。这可以通过foldl完成,累加器可以是带有键和计数的新结构。在Racket中,可以使用散列作为累加器来获得O(n)解 计数为1的过滤器 映射以删除计数 祝你好运 其他人对同样的作业也有同样的问题:@coredump,他甚至用

如何编写一个函数来使用一个列表并返回一个只出现一次的元素列表?这将通过高阶函数(如fold、map或filter)实现,而不是使用显式递归

示例:(列表2 3 67 2 67 1)->(列表3 1)

问题中没有代码->答案中没有代码

总的想法是:

  • 迭代列表并对每个列表进行计数。这可以通过foldl完成,累加器可以是带有键和计数的新结构。在Racket中,可以使用散列作为累加器来获得O(n)解
  • 计数为1的过滤器
  • 映射以删除计数

  • 祝你好运

    其他人对同样的作业也有同样的问题:@coredump,他甚至用更好的方式问:)这回答了你的问题吗?