From 99bccc83a7c4b42cc46b5cfd34817fef9965d8a9 Mon Sep 17 00:00:00 2001 From: Walt Mankowski Date: Fri, 14 Aug 2020 20:19:28 -0400 Subject: track min value as we go along This changes the runtime from O(n^2) to O(n) --- challenge-073/walt-mankowski/perl/ch-2.pl | 5 +++-- 1 file 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"; -- cgit