in reply to Find Length Of Longest Ascending/Descending Sequence

My Perl 6 contribution:
my $seq = "82665409266027476709324472"; my $diff = join "", map { ($^b - $^a) % 10 }, ($seq.comb Z $seq.comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say $seq.substr($longest.from, $longest.to - $longest.from + 1); # 654

Replies are listed 'Best First'.
Re^2: Find Length Of Longest Ascending/Descending Sequence
by ambrus (Abbot) on May 19, 2011 at 09:44 UTC

    Would this work for strings like "834567"? I think you may need to replace ($seq.comb Z $seq.comb.rotate) with something like ($seq.comb[0..*-2] Z $seq.comb[1..*-1]).