穷举法
/**
*Cubic maximum contiguous subsequence sum algorithm.
*/
int maxSubSum1( const vector<int> & a)
{
int maxSum=0;
for( int i=0; i<a.szie(); i++)
for(int j=i;j<a.size();j++)
{
int thisSum=0;
for (int k=i;k<=j;k++) //子序列宽度
thisSum+=a[k];
if( thisSum >maxSum)
maxSum=thisSum;
}
return maxSum;
}
穷举法是从第一个元素开始,逐渐增加子序列的长度,计算子序列和,与当前最大值比较并暂存最大值。