aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-09-15 01:53:38 +0200
committerMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-09-15 01:53:38 +0200
commita3b8b3243a6d452e2dc159a7b4bf6d5193959689 (patch)
tree5c252b1338ecfa148fcefa65f1d502a6b3637347
parent0bccb9f32bc79e49936ca740d327a4978079ebab (diff)
downloadperlweeklychallenge-club-a3b8b3243a6d452e2dc159a7b4bf6d5193959689.tar.gz
perlweeklychallenge-club-a3b8b3243a6d452e2dc159a7b4bf6d5193959689.tar.bz2
perlweeklychallenge-club-a3b8b3243a6d452e2dc159a7b4bf6d5193959689.zip
another 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..49bde7668b 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 = 0;
+ reverse @numbers.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 ] } ) }