Erlang,查找列表中数字出现的次数

问题描述 投票:0回答:3

我是Erlang的新手,正在尝试编写一个程序,该程序将像[1,5,4,5,3,2,2,2,8,11]这样的数字列表作为函数的输入参数。该函数应返回一个元组列表,其中记录了该数字及其在列表中的出现次数,如下所示。

[[{1,1},{2,2},{3,1},{4,1},{5,1},{8,1},{11,1}]。

我有以下代码

list([]) ->
  [];
list([First | Rest])  ->  
  [{First,+1} | list(Rest)].

但是我不明白我可以进行计数操作吗?谢谢

list erlang tail-recursion
3个回答
1
投票

请参见maps:update/4


2
投票

可能不是最快的(如果考虑速度,请使用地图而不是元组列表:]


0
投票

您可以单线完成,但将其分解为步骤:

© www.soinside.com 2019 - 2024. All rights reserved.