aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-09-15 01:15:10 +0100
committerGitHub <noreply@github.com>2020-09-15 01:15:10 +0100
commit0af76fecc34594e0df626cbef22bb26112e6bdeb (patch)
tree87c1d8c91751bdb836325d86b6e900ed3df40123
parent0d12585a6e448b8569a2de653848bb41fda48421 (diff)
parenteab0f24f5bd0ccd3ea371a0b3340b2de146fbbed (diff)
downloadperlweeklychallenge-club-0af76fecc34594e0df626cbef22bb26112e6bdeb.tar.gz
perlweeklychallenge-club-0af76fecc34594e0df626cbef22bb26112e6bdeb.tar.bz2
perlweeklychallenge-club-0af76fecc34594e0df626cbef22bb26112e6bdeb.zip
Merge pull request #2295 from holli-holzer/master
another, even shorter variant
-rw-r--r--challenge-078/markus-holzer/raku/ch-1.raku14
1 files changed, 9 insertions, 5 deletions
diff --git a/challenge-078/markus-holzer/raku/ch-1.raku b/challenge-078/markus-holzer/raku/ch-1.raku
index 29b10e1ca4..369c58db15 100644
--- a/challenge-078/markus-holzer/raku/ch-1.raku
+++ b/challenge-078/markus-holzer/raku/ch-1.raku
@@ -3,14 +3,18 @@ unit sub MAIN( *@numbers where @numbers.all ~~ Int );
say "({ join ", ", leader-elements @numbers })";
sub leader-elements( @stuff ) {
- sub find( $that, *@the-rest ) {
- take $that if $that > all @the-rest;
- find |@the-rest if @the-rest }
+ my $max = -Inf;
+ reverse ( @stuff.reverse.grep: -> $n { $n > $max && ($max = $n) } ) || 0 }
- +@stuff ?? gather find |@stuff !! 0 }
+#sub leader-elements-recursive( @stuff ) {
+# sub find( $that, *@the-rest ) {
+# take $that if $that > all @the-rest;
+# find |@the-rest if @the-rest }
+#
+# +@stuff ?? gather find |@stuff !! 0 }
#
-#sub leader-elements( @A ) {
+#sub leader-elements-filter( @A ) {
# (^@A)
# .grep( -> $i { @A[ $i ] > @A[ $i^..* ].all } )
# .map( -> $i { @A[ $i ] } ) }