diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-09-15 01:15:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-15 01:15:10 +0100 |
| commit | 0af76fecc34594e0df626cbef22bb26112e6bdeb (patch) | |
| tree | 87c1d8c91751bdb836325d86b6e900ed3df40123 | |
| parent | 0d12585a6e448b8569a2de653848bb41fda48421 (diff) | |
| parent | eab0f24f5bd0ccd3ea371a0b3340b2de146fbbed (diff) | |
| download | perlweeklychallenge-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.raku | 14 |
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 ] } ) } |
