aboutsummaryrefslogtreecommitdiff
path: root/challenge-106
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-04-01 19:39:34 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-04-01 19:39:34 +0100
commit60f926cd6dc29af9fa8db7bfd3e66cc34a5de560 (patch)
treeb60582a391f48e365940e6278b2c6f44a0265c60 /challenge-106
parent587c0cb94a8accf6815767731ab4152bb067aa2d (diff)
downloadperlweeklychallenge-club-60f926cd6dc29af9fa8db7bfd3e66cc34a5de560.tar.gz
perlweeklychallenge-club-60f926cd6dc29af9fa8db7bfd3e66cc34a5de560.tar.bz2
perlweeklychallenge-club-60f926cd6dc29af9fa8db7bfd3e66cc34a5de560.zip
- Added Maximum Gap solution in Perl.
Diffstat (limited to 'challenge-106')
-rw-r--r--challenge-106/mohammad-anwar/perl/ch-1.pl28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-106/mohammad-anwar/perl/ch-1.pl b/challenge-106/mohammad-anwar/perl/ch-1.pl
new file mode 100644
index 0000000000..f004af3591
--- /dev/null
+++ b/challenge-106/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+is(max_gap(2, 9, 3, 5), 4);
+is(max_gap(1, 3, 8, 2, 0), 5);
+is(max_gap(5), 0);
+
+done_testing;
+
+sub max_gap {
+ my @n = @_;
+
+ return 0 if @n == 1;
+
+ my $x;
+ my $d = 0;
+ foreach (reverse sort @n) {
+ $x = $_ and next unless defined $x;
+ $d = $x - $_ if ($d < $x - $_);
+ $x = $_;
+ }
+
+ return $d;
+}