Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,24 @@
|
|||
declare
|
||||
fun {MaxSubSeq Xs}
|
||||
|
||||
fun {Step [Sum0 Seq0 MaxSum MaxSeq] X}
|
||||
Sum = Sum0 + X
|
||||
Seq = X|Seq0
|
||||
in
|
||||
if Sum > MaxSum then
|
||||
%% found new maximum
|
||||
[Sum Seq Sum Seq]
|
||||
elseif Sum < 0 then
|
||||
%% discard negative subseqs
|
||||
[0 nil MaxSum MaxSeq]
|
||||
else
|
||||
[Sum Seq MaxSum MaxSeq]
|
||||
end
|
||||
end
|
||||
|
||||
[_ _ _ MaxSeq] = {FoldL Xs Step [0 nil 0 nil]}
|
||||
in
|
||||
{Reverse MaxSeq}
|
||||
end
|
||||
in
|
||||
{Show {MaxSubSeq [~1 ~2 3 5 6 ~2 ~1 4 ~4 2 1]}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue