Re: All componens different

• To: mathgroup at smc.vnet.net
• Subject: [mg112000] Re: All componens different
• From: Sseziwa Mukasa <mukasa at jeol.com>
• Date: Tue, 24 Aug 2010 06:12:56 -0400 (EDT)

```On Aug 23, 2010, at 2:51 AM, Dr. Wolfgang Hintze wrote:

> Given a list v of natural numbers I'm looking for a function d[v_] that
> returns True if all components are different and False otherwise.
>
> One solution is
>
> d1[v_] :== ! Or @@ Flatten[Table[v[[i]] ==== v[[k]], {i, 1, Length[v]},
> {k, i + 1, Length[v]}]]
>
> Can you find more efficient (and elegant) solutions?

I don't know about efficiency (but Sort should be order N*LogN (N==Length[v]) and Split order N, your expression is order N^2, the two solutions should be equivalent in memory used) but I'd solve the problem this way

d2[v_]:==Length[Split[Sort[v]]]====Length[v]

Alternatively

d3[v_]:==Union[v]====Sort[v]

but I don't know the time or space complexity of Union.

Regards,
Ssezi

```

• Prev by Date: Re: All componens different
• Next by Date: Re: All componens different
• Previous by thread: Re: All componens different
• Next by thread: Re: All componens different