From a3b8b3243a6d452e2dc159a7b4bf6d5193959689 Mon Sep 17 00:00:00 2001 From: "Markus \"Holli\" Holzer" Date: Tue, 15 Sep 2020 01:53:38 +0200 Subject: another variant --- challenge-078/markus-holzer/raku/ch-1.raku | 14 +++++++++----- 1 file 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 ] } ) } -- cgit