最大子列和 輸出結果和起始元素

2021-09-25 01:39:22 字數 577 閱讀 7782

要求:

全負數:輸出0,開始元素,結束元素。

多個相同大小子數列:輸出座標小的。

主要考慮兩種特殊情況

1.只有0和負數。(因為當前和為負數時會被置0,所以設定fakezero判斷是否遇到了0。)

2.最大子數列和為正,且在最大子數列前有很多0。(在最後過濾掉起始位置的所有0。)

#includeusing namespace std;

int main()

for (int i = 0; i < a; ++i)

if(fakezero)

if (arr[i] == 0)

if (cur > max)

} }if (max > 0)

if(allneg)

cout << 0 << ' ' << arr[0] << ' ' << arr[a-1] << endl;

else

cout << max << ' ' << arr[start] << ' ' << arr[end] << endl;

return 0;

}

最大子列和

int maxsubsequencesum const int a,int n if thissum maxsum 如果新的子列和更大,則更新子列和 maxsum thissum return maxsum 時間複雜度o n3 int maxsubsequencesum const int a,in...

最大子列和

給出乙個長度為 n 的序列 a,選出其中連續且非空的一段使得這段和最大。第一行是乙個整數,表示序列的長度 n。第二行有 n 個整數,第 i個整數表示序列的第 i個數字 a i 輸出一行乙個整數表示答案。輸入7 2 4 3 1 2 4 3 輸出資料範圍 對於 40 的資料,保證 n leq 2 tim...

最大子列和

最大連續子串行和問題 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子序中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大連續子串行和即為20。注 為方便起見,如果所有整數均為負數,則最大子串行和為0。解決這樣乙個問題是乙個很有趣的過程,我們可以...