in reply to Items in Order
I think this does what you mean, assuming you want to find the longest subset of increasing integers:
my @a = (1,2,4,8,4,5,6,7,8); # sample data my ($current, $previous); my $tmp_max = 1; my $max = 1; while (@a) { $previous = shift(@a) ; $current = $a[0] or last; if ($previous + 1 == $current) { # or $previous < $current if number +s may increase by more than 1 $tmp_max++; } else { $tmp_max = 1; } $max = $tmp_max if ($tmp_max > $max); } print "$max\n";
Given the sample data, prints "5", for 4-8.
Update: alas, I seem to have answered the wrong question {chagrin}.
|
|---|