子陣列的最大累加和問題

2021-10-10 09:22:11 字數 959 閱讀 2067

子陣列的最大累加和問題

給定乙個陣列arr,返回子陣列的最大累加和

例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子陣列中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.

[要求]

時間複雜度為o(n

)o(n)

o(n)

,空間複雜度為o(1

)o(1)

o(1)

輸入描述:

第一行乙個整數n。表示陣列長度

接下來一行n個整數表示陣列內的元素

輸出描述:

輸出乙個整數表示答案

示例1輸入

7

1 -2 3 5 -2 6 -1

輸出
12
備註:

1 ⩽n

⩽105

1 \leqslant n \leqslant 10^5

1⩽n⩽10

5−100⩽a

rri⩽

100-100 \leqslant arr_i \leqslant 100

−100⩽a

rri​

⩽100

題解:此題值得好好研究,可以感受一步步將演算法從最基礎的 o(n

3)

o(n^3)

o(n3

) 優化到 o(n

)o(n)

o(n)

的快感。

具體參考:連續子陣列最大和

**:

#include

#include

using

namespace std;

intmain

(void

)return0*

printf

("%d\n"

, ret)

;}

子陣列的最大累加和問題

題目 給定乙個陣列arr,返回子陣列中的最大累加和。例如,arr 1,2,3,5,2,6,1 其中子陣列 3,5,2,6 累加和最大為12,故返回12.要求 時間複雜度為o n 額外空間複雜度為o 1 public static void main string args int r maxson1...

子陣列的最大累加和問題

傳送門 給定乙個陣列arr,返回子陣列的最大累加和 例如,arr 1,2,3,5,2,6,1 所有子陣列中,3,5,2,6 可以累加出最大的和12,所以返回12.要求 時間複雜度為o n 空間複雜度為o 1 輸入 1,2,3,5,2,6,1 輸出 掃一遍所有數字,同時記錄當前的累加和ans,如果累加...

子陣列的最大累加和問題

題目描述 給定乙個陣列arr,返回子陣列的最大累加和 例如,arr 1,2,3,5,2,6,1 所有子陣列中,3,5,2,6 可以累加出最大的和12,所以返回12.要求 時間複雜度為o n o n 空間複雜度為o 1 o 1 示例輸入 1,2,3,5,2,6,1 輸出12 思路描述 動態規劃,拆成小...