aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2020-08-14 20:19:28 -0400
committerWalt Mankowski <waltman@pobox.com>2020-08-14 20:19:28 -0400
commit99bccc83a7c4b42cc46b5cfd34817fef9965d8a9 (patch)
tree62bc74a9c888a76965e046c2d1c639987afbb8b3
parent22156f52135a9525763e385eb818dd0393b2e214 (diff)
downloadperlweeklychallenge-club-99bccc83a7c4b42cc46b5cfd34817fef9965d8a9.tar.gz
perlweeklychallenge-club-99bccc83a7c4b42cc46b5cfd34817fef9965d8a9.tar.bz2
perlweeklychallenge-club-99bccc83a7c4b42cc46b5cfd34817fef9965d8a9.zip
track min value as we go along
This changes the runtime from O(n^2) to O(n)
-rw-r--r--challenge-073/walt-mankowski/perl/ch-2.pl5
1 files changed, 3 insertions, 2 deletions
diff --git a/challenge-073/walt-mankowski/perl/ch-2.pl b/challenge-073/walt-mankowski/perl/ch-2.pl
index 7f8b61cfcc..21a09903fe 100644
--- a/challenge-073/walt-mankowski/perl/ch-2.pl
+++ b/challenge-073/walt-mankowski/perl/ch-2.pl
@@ -3,7 +3,6 @@ use strict;
use warnings;
use feature qw(:5.32);
use experimental qw(signatures);
-use List::Util qw(min);
# TASK #2 › Smallest Neighbour
# Submitted by: Mohammad S Anwar
@@ -32,9 +31,11 @@ use List::Util qw(min);
my @A = @ARGV;
my @output = (0);
+my $min = $A[0];
+
for my $i (1..$#A) {
- my $min = min @A[0..$i-1];
push @output, $min < $A[$i] ? $min : 0;
+ $min = $A[$i] if $A[$i] < $min;
}
say "@output";