輸入乙個整型陣列,陣列中的乙個或連續多個整數組成乙個子陣列。求所有子陣列的和的最大值。
要求時間複雜度為o(n)。
示例1:
輸入: nums = [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
1 <= arr.length <= 10^5
-100 <= arr[i] <= 100
class
solution
int[
] dp =
newint
[nums.length]
[nums.length]
;//初始化
for(
int i =
0;i < nums.length; i++
)int max = nums[0]
;for
(int i =
0; i < nums.length; i++
) max = math.
max(max, dp[i]
[i]);}
return max;
//動態規劃:dp[i] 表示第i個元素(包括i)之前的最大值,
int[
] dp =
newint
[nums.length]
; dp[0]
= nums[0]
;int res = nums[0]
;for
(int i =
1; i < nums.length; i++
)//這個解法和上面的解法比無法直到最大連續數字,但是可以直到和,且和會改變
return res;
}}
劍指offer42 和為S的連續正數序列
小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和...
劍指offer42 連續子陣列的最大和
hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...
《劍指offer》 42 連續子陣列的最大和
hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...