给定整数A1,A2,A3······An(可能有负数),求序列中子序列和的最大值。(为方便起见,若所有整数都为负数,则最大子序列和为0)
int MaxSubSequenceSum(vector<int> A)
{
int thisSum, maxSum;
thisSum = maxSum = 0;
for (size_t i = 0; i < A.size(); i++)
{
thisSum += A[i];
if (thisSum > maxSum)
{
maxSum = thisSum;
}
else if (thisSum < 0)
{
thisSum = 0;
}
}
return maxSum;
}