穷举法
/**
*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;
}
穷举法是从第一个元素开始,逐渐增加子序列的长度,计算子序列和,与当前最大值比较并暂存最大值。
本文介绍了一种立方复杂度的最大连续子序列和算法——穷举法。该算法通过遍历所有可能的子序列组合来寻找具有最大和的子序列。每次迭代中,算法计算子序列的和,并与当前已知的最大值进行比较。
1039

被折叠的 条评论
为什么被折叠?



