MathGroup Archive 2004

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

Search the Archive

Re: Counting Runs


v={1,1,1,-1,1,1,1,1,1,-1,-1,-1,-1,1};

Length/@Split@Sort@Cases[Split[v], x_List:>x[[1]]]

{2,3}

Length/@Split@Sort[v//.{s___,x_,x_,e___}:>{s,x,e}]

{2,3}


Bob Hanlon

> 
> From: Gregory Lypny <gregory.lypny at videotron.ca>
To: mathgroup at smc.vnet.net
> Date: 2004/11/04 Thu AM 01:50:22 EST
> To: mathgroup at smc.vnet.net
> Subject: [mg51923] [mg51890] Counting Runs
> 
> Looking for an elegant way to count runs to numbers in a series.  
> Suppose I have a list of ones and negative ones such as
> 	v={1,1,1,-1,1,1,1,1,1,-1,-1,-1,-1,1}.
> I'd like to create a function that counts the number of runs of 1s and 
> -1s, which in this case is 3 and 2.
> 
> 	Greg
> 
> 


  • Prev by Date: Re: foreach loop
  • Next by Date: Re: Counting Runs
  • Previous by thread: Re: Counting Runs
  • Next by thread: Re: Counting Runs