Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -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]}}