challenge 重複する要素を取り除く

与えられたリストxsの中から、 2回以上出現するものを全部取り除いてください。

サンプル入力
[3, 1, 4, 1, 5, 9, 2, 6, 5]
サンプル出力
[3, 4, 9, 2, 6]

これはアレイのuniqの派生問題です。 リストとかアレイという言葉は言語によってまちまちの意味で使われているので、 「配列のようなもの」という漠然とした意味にとって構いません。

Posted feedbacks - Erlang

与えられた配列要素の順序を守ってます。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
-module(doukaku56).
-export([u2z/1, only_uniq/1, only_uniq/2]).
  
u2z(undefined) -> 0;
u2z(X) -> X.

only_uniq(XS) ->
  spawn_link(?MODULE, only_uniq, [self(), XS]),
  receive
    List -> List
  end.

only_uniq(Pid, XS) ->
  lists:foreach(fun (X) -> put(X, u2z(get(X))+1) end, XS),
  Pid ! [X || X <- XS, get(X) =:= 1].

Index

Feed

Other

Link

Pathtraq

loading...