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.
>
>