最大子序列和問題求解 algorithm 1 O(N^3)

窮舉法

/**
*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;
}

窮舉法是從第一個元素開始,逐漸增加子序列的長度,計算子序列和,與當前最大值比較並暫存最大值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章