http://www.perlmonks.org?node_id=903800

Limbic~Region has asked for the wisdom of the Perl Monks concerning the following question:

All,
I asked about a regex solution in the CB to the following problem and was prompted to post a SoPW since others might enjoy it.

Assume you have a string of integers (no other characters) such as '82665409266027476709324472'. The task is to find the longest sequence of contiguous integers in ascending or descending order wrapping around 0 with a difference in adjacent pairs of abs(1). In other words, '2468' would be a length of 1 even though they are contiguous and in ascending order. It would have to be '2345678' to count. Regarding wrapping around 0, '78901' is a length of 5 just as '32109' is.

Originally, I was looking for the most compact solution but now I am interested in any creative ways you might think of to solve it (experimental features or not). You might think of this as a modified version of longest increasing sequence with additional constraints (I have solved that problem before).

Cheers - L~R