最大的子序列和問題
求解該問題的四種算法:時(shí)間O(N3),算法一












































































































參考《數(shù)據(jù)結(jié)構(gòu)與算法分析》
posted on 2007-02-07 10:52 Dain 閱讀(1081) 評論(7) 編輯 收藏 引用 所屬分類: 算法 、筆記
寫出一個(gè)可以工作的程序并不夠
參考《數(shù)據(jù)結(jié)構(gòu)與算法分析》
posted on 2007-02-07 10:52 Dain 閱讀(1081) 評論(7) 編輯 收藏 引用 所屬分類: 算法 、筆記
嗯,dp
對于這個(gè)問題,算法三和四都是不錯(cuò)的思路@豪
回復(fù) 更多評論
樓主開什么玩笑,算法四明顯是不對的嘛,是考一下我們的眼力嗎? 回復(fù) 更多評論
第四個(gè)
MaxSum = -((static_cast<unsigned int>(~0)) >> 1) - 1;
ThisSum = 0;
for (int i = 0;i < A.size();i++)
{
ThisSum += A[i];
if(ThisSum > MaxSum)
MaxSum = ThisSum;
else
ThisSum = 0;
}
回復(fù) 更多評論
輸入如下:-2 11 -4 13 -5 -2
輸出如下:13
正確輸出應(yīng)該為:20
修改如下:
intMaxSubsequenceSum( const int A[], int N)
{
int ThisSum,MaxSum,i;
ThisSum = MaxSum = 0 ;
for (i = 0 ;i < N;i ++ )
{
ThisSum += A[i];
if (ThisSum > MaxSum)
MaxSum = ThisSum;
else if(ThisSum < 0)
ThisSum = 0 ;
}
return MaxSum;
} 回復(fù) 更多評論
只有注冊用戶登錄后才能發(fā)表評論。 | ||
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
![]() |
||
相關(guān)文章:
|
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|