Re: number of switches

• To: mathgroup at smc.vnet.net
• Subject: [mg47544] Re: number of switches
• From: bobhanlon at aol.com (Bob Hanlon)
• Date: Thu, 15 Apr 2004 03:40:53 -0400 (EDT)
• References: <c5j6vd\$qqo\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```After sending my first response I thought of a much faster method:

nbrSwitches1[x_?VectorQ] :=
Length[x //. {s___, a_, a_,e___} :> { s,a,e}]-1;

nbrSwitches1 /@
{{1,1,0,1},{1,1,0,0},{1,0,1,0,1}}

{2,1,4}

nbrSwitches2[x_?VectorQ] :=
(Length[Split[x]]-1);

nbrSwitches2 /@
{{1,1,0,1},{1,1,0,0},{1,0,1,0,1}}

{2,1,4}

data=Table[Random[Integer], {2000}];

nbrSwitches1[data]//Timing

{16.59 Second,1031}

nbrSwitches2[data]//Timing

{0.01 Second,1031}

Bob Hanlon

In article <c5j6vd\$qqo\$1 at smc.vnet.net>, "fake" <fake at fake.it> wrote:

<< Consider the lists {1,1,0,1} and {1,1,0,0},{1,0,1,0,1}.
The first sequence (1101) switches 2 times (#2digit~#3digit,
#3digit~#4digit}, the second (1100) 1 time, the third 10101 4 times.

I have the following problem.
Consider a list of binary digits. Which is the easiest way to count the
number of switches of the list (using Mathematica commands)?

```

• Prev by Date: Re: number of switches
• Next by Date: RE: number of switches
• Previous by thread: Re: number of switches
• Next by thread: RE: number of switches