diff options
| -rw-r--r-- | challenge-111/james-smith/perl/ch-1.pl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/challenge-111/james-smith/perl/ch-1.pl b/challenge-111/james-smith/perl/ch-1.pl index 02fa3c878a..4635c73bbc 100644 --- a/challenge-111/james-smith/perl/ch-1.pl +++ b/challenge-111/james-smith/perl/ch-1.pl @@ -110,11 +110,12 @@ cmpthese(10_000, { sub find_val_dnf { my($v,$m) = @_; - return 0 if $v < $m->[0][0] || $v > $m->[4][4]; - my $i = $v < $m->[3][0] - ? ( $v < $m->[1][0] ? 0 : $v < $m->[2][0] ? 1 : 2 ) - : ( $v < $m->[4][0] ? 3 : 4 ); - return 0 + grep { $v == $_ } @{$m->[$i]}; + return $v < $m->[0][0] || $v > $m->[4][4] + ? 0 + : 0 + grep { $v == $_ } @{$m->[ $v < $m->[3][0] + ? ( $v < $m->[1][0] ? 0 : $v < $m->[2][0] ? 1 : 2 ) + : ( $v < $m->[4][0] ? 3 : 4 ) + ]}; } sub flatten { |
