C 58539 連續最大和

2021-09-24 13:06:13 字數 968 閱讀 6464

乙個陣列有n個元素,求連續子陣列的最大和。 例如:[-1,2,1],和最大的連續子陣列為[2,1],其和為3

示例1:

本題是乙個經典的動態規劃問題,簡稱dp問題,本題題意很簡單,就是求哪一段的子陣列的和最大。

假設sum[i-1]是以陣列中第nums[i-1]為最後乙個元素的一段子陣列最大和;

sum[i]是以陣列中第nums[i]為最後乙個元素的一段子陣列最大和;

那麼sum[i]=max(sum[i-1], 0)+nums[i]

理解了這個,下面**中用sum1表示sum[i-1]sum2表示sum[i]

如果計算出更大的子陣列和則儲存到result中。

如果sum[i]sum2都小於0了,則置為0,因為它加上陣列下乙個數,不會計算出更大的子陣列和。

#include 

#include

using namespace std;

int main()

cout << result << endl;

return0;

}

#include 

#include

using namespace std;

int main()

cout << maxsum << endl;

}

27 連續子陣列的最大和

連續子陣列的最大和 hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8...

30 連續子陣列的最大和

題目描述 hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個...

42 連續子陣列的最大和

hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...