MathGroup Archive 2004

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

Search the Archive

Re: Max Consecutive Occurrence.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg47664] Re: [mg47653] Max Consecutive Occurrence.
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Wed, 21 Apr 2004 05:23:03 -0400 (EDT)
  • References: <200404200719.DAA27856@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 20 Apr 2004, at 16:19, Robert G. Wilson v wrote:

>
> Mathematica had many programmed functions which are not referenced in 
> the
> help index. Under '?Position -> Further Examples' you will find two 
> such
> functions, 'ConsecutiveOccurrences1' and 'ConsecutiveOccurrences2.' I
> first wish that Mathematica would index these.
>
> But the reason for writing is that I have a need for a function named
> 'MaxConsecutiveOccurrence' which would return the maximum consecutive
> occurrence of x in a list.
>
> Thank you in advance.
>
>
> Bob.
>
>
>
What do you mean by :

> would return the maximum consecutive
> occurrence of x in a list
?

The length of such a occurance? The position of, the elements of such 
an occurance? The function below will give you both as a pair, {maximum 
number of consecutive occurences, position of the first element of the 
maximal sequence of consecutive occurences}. If you do not need to know 
oen of these it is easy to make the necessary modificantion.


f[l_, a_] := Module[{A =
    Split[l], B}, B = Last[Sort[Cases[A, x : {a ..} :> {
     Length[x], Position[A, x][[1,
            1]]}]]]; {First[B], Length[Flatten[Take[A, Last[B] - 1]]] + 
1}]

For example, let


l={a,a,b,c,d,b,b,a,a,a,f,a};


then:

f[l,a]

{3,8}


f[l,b]

{2,6}



Andrzej Kozlowski
Chiba, Japan
http://www.mimuw.edu.pl/~akoz/


  • Prev by Date: Re: NETLink Q: How Create Array of specified Type?
  • Next by Date: Re: NETLink Q: How Create Array of specified Type?
  • Previous by thread: Re: Max Consecutive Occurrence.
  • Next by thread: Re: Max Consecutive Occurrence.