Need a nice way to do this

*To*: mathgroup at smc.vnet.net*Subject*: [mg40279] Need a nice way to do this*From*: Steve Gray <stevebg at adelphia.net>*Date*: Sat, 29 Mar 2003 05:19:39 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

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.

**Follow-Ups**:**Re: Need a nice way to do this***From:*Dr Bob <majort@cox-internet.com>