MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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