16 lines
441 B
Text
16 lines
441 B
Text
function maxSubseq(sequence s)
|
|
integer this, maxsum = 0, first = 1, last = 0
|
|
for i=1 to length(s) do
|
|
this = 0
|
|
for j=i to length(s) do
|
|
this += s[j]
|
|
if this>maxsum then
|
|
{maxsum,first,last} = {this,i,j}
|
|
end if
|
|
end for
|
|
end for
|
|
return s[first..last]
|
|
end function
|
|
? maxSubseq({-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1})
|
|
? maxSubseq({})
|
|
? maxSubseq({-1, -5, -3})
|