Greatest subsequential sum: Difference between revisions
Content added Content deleted
(→{{header|RPL}}: Efficient solution) |
(Added Quackery.) |
||
Line 3,095: | Line 3,095: | ||
{{Out}} |
{{Out}} |
||
<pre>(15, [3, 5, 6, -2, -1, 4])</pre> |
<pre>(15, [3, 5, 6, -2, -1, 4])</pre> |
||
=={{header|Quackery}}== |
|||
<syntaxhighlight lang="Quackery"> [ stack ] is maxseq ( --> s ) |
|||
[ stack ] is maxsum ( --> s ) |
|||
[ 0 swap witheach + ] is sum ( --> s ) |
|||
[ [] maxseq put |
|||
0 maxsum put |
|||
dup size times |
|||
[ dup size times |
|||
[ dup i^ 1+ split |
|||
drop dup sum |
|||
dup maxsum share > iff |
|||
[ maxsum replace |
|||
maxseq replace ] |
|||
else 2drop ] |
|||
behead drop ] |
|||
drop |
|||
maxsum take |
|||
maxseq take ] is maxsubseqsum ( [ --> n [ ) |
|||
' [ [ 1 2 3 4 5 -8 -9 -20 40 25 -5 ] |
|||
[ -1 -2 3 5 6 -2 -1 4 -4 2 -1 ] |
|||
[ -1 -2 -3 -4 -5 ] |
|||
[ ] ] |
|||
witheach |
|||
[ dup |
|||
say "Sequence: " echo cr |
|||
maxsubseqsum |
|||
say "Subsequence: " echo cr |
|||
say "Sum: " echo cr |
|||
cr ]</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Sequence: [ 1 2 3 4 5 -8 -9 -20 40 25 -5 ] |
|||
Subsequence: [ 40 25 ] |
|||
Sum: 65 |
|||
Sequence: [ -1 -2 3 5 6 -2 -1 4 -4 2 -1 ] |
|||
Subsequence: [ 3 5 6 -2 -1 4 ] |
|||
Sum: 15 |
|||
Sequence: [ -1 -2 -3 -4 -5 ] |
|||
Subsequence: [ ] |
|||
Sum: 0 |
|||
Sequence: [ ] |
|||
Subsequence: [ ] |
|||
Sum: 0 |
|||
</pre> |
|||
=={{header|R}}== |
=={{header|R}}== |