Finding unique elements of a list

Thomas Lindgren <>
Thu Dec 2 11:22:42 CET 2004

Here is a straightforward version with good O(.):
first sort the list, then drop consecutive duplicates.

Complexity is given by the sort (assuming unit cost of
comparing elements). O(N log N), presumably? 

unique(Xs) ->

rem_dups([X|Xs]) ->
    [X|drop(X, Xs)];
rem_dups([]) ->

drop(X, [X|Xs]) ->
    drop(X, Xs);
drop(X, Ys) ->

The code above seems to work, but could be optimized
further; which is left as an exercise to the reader.


Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 

More information about the erlang-questions mailing list