diff options
| author | Walt Mankowski <waltman@pobox.com> | 2020-08-10 19:45:18 -0400 |
|---|---|---|
| committer | Walt Mankowski <waltman@pobox.com> | 2020-08-10 19:45:18 -0400 |
| commit | 7ccb48f1b9b3bc07f9a63f335a57dc1756d7539c (patch) | |
| tree | 47227b672403411253ec6dff5134fcc5e5aef299 | |
| parent | bd9eb24a17a7ed68df7e390960424e86c6a5b55d (diff) | |
| download | perlweeklychallenge-club-7ccb48f1b9b3bc07f9a63f335a57dc1756d7539c.tar.gz perlweeklychallenge-club-7ccb48f1b9b3bc07f9a63f335a57dc1756d7539c.tar.bz2 perlweeklychallenge-club-7ccb48f1b9b3bc07f9a63f335a57dc1756d7539c.zip | |
perl solution for challenge 73 task 1
| -rw-r--r-- | challenge-073/walt-mankowski/perl/ch-1.pl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-073/walt-mankowski/perl/ch-1.pl b/challenge-073/walt-mankowski/perl/ch-1.pl new file mode 100644 index 0000000000..33adfc4de6 --- /dev/null +++ b/challenge-073/walt-mankowski/perl/ch-1.pl @@ -0,0 +1,30 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use feature qw(:5.32); +use experimental qw(signatures); +use List::Util qw(min); + +# TASK #1 › Min Sliding Window +# Submitted by: Mohammad S Anwar + +# You are given an array of integers @A and sliding window size $S. + +# Write a script to create an array of min from each sliding window. +# Example +# Input: @A = (1, 5, 0, 2, 9, 3, 7, 6, 4, 8) and $S = 3 +# Output: (0, 0, 0, 2, 3, 3, 4, 4) + +# [(1 5 0) 2 9 3 7 6 4 8] = Min (0) +# [1 (5 0 2) 9 3 7 6 4 8] = Min (0) +# [1 5 (0 2 9) 3 7 6 4 8] = Min (0) +# [1 5 0 (2 9 3) 7 6 4 8] = Min (2) +# [1 5 0 2 (9 3 7) 6 4 8] = Min (3) +# [1 5 0 2 9 (3 7 6) 4 8] = Min (3) +# [1 5 0 2 9 3 (7 6 4) 8] = Min (4) +# [1 5 0 2 9 3 7 (6 4 8)] = Min (4) + +my @a = @ARGV; +my $s = pop @a; +my @out = map { min @a[$_..$_+$s-1] } 0..(@a-$s); +say "@out"; |
