in reply to Runs and Sequences
Here's a kinda fun solution. Can you see how it works?
use warnings; use strict; my $flips = 'TTHHHHTHHHHHHTHT'; my $flops = substr $flips, 1; my ($maxT, $maxH, $side) = (0, 0, substr $flops, 0, 1); my $toggles = ($flips ^ $flops); $toggles =~ tr/\0\x1c/01/; my @runs = $toggles =~ /(0*1)/g; for my $run (@runs) { $maxT = length $run if $side eq 'T' && length $run > $maxT; $maxH = length $run if $side eq 'H' && length $run > $maxH; $side = $side eq 'T' ? 'H' : 'T'; } print "Longest heads run is $maxH\n"; print "Longest tails run is $maxT\n";
Prints:
Longest heads run is 6 Longest tails run is 2
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Runs and Sequences
by twofish (Initiate) on Sep 09, 2005 at 13:06 UTC | |
by GrandFather (Saint) on Sep 09, 2005 at 18:36 UTC |