Re: Need a nice way to do this

*To*: mathgroup at smc.vnet.net*Subject*: [mg40310] Re: Need a nice way to do this*From*: "Dana DeLouis" <delouis at bellsouth.net>*Date*: Mon, 31 Mar 2003 04:01:08 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

I'm new at this, but I'll take a shot: s = {a, b, b, a, a, a, b, a, b, a, a}; Table[j - Count[Take[s, j], s[[j]]], {j, Length[s]}] {0, 1, 1, 2, 2, 2, 4, 3, 5, 4, 4} -- Dana DeLouis Windows XP $VersionNumber -> 4.2 = = = = = = = = = = = = = = = = = "Steve Gray" <stevebg at adelphia.net> wrote in message news:<b63r1a$3oc$1 at smc.vnet.net>... > Given a list consisting of only two distinct values, such as > s={a,b,b,a,a,a,b,a,b,a,a}, I want to derive a list of equal length > g={0,1,1,2,2,2,4,3,5,4,4}. The rule is: for each position > 1<=p<=Length[s], look at list s and set g[[p]] to the number of > elements in s to the left of p which are not equal to s[[p]]. > In a more general version, which I do not need now, s would not be > restricted to only two distinct values. > > Thank you for any ideas, including other applications where this > particular calculation is used. The current application is an unusual > conjecture in geometry. > >