題目描述:
給定乙個整數陣列 nums ,找到乙個具有最大和的連續子陣列(子陣列最少包含乙個元素),返回其最大和。
示例:輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
class
solution
return res;
}}
思路概述:
res來記錄當前最大的子序和,sum則是不斷累加。關鍵點在於兩個條件判斷語句,當sum>0,那麼就繼續累加,因為後面可能有正數,越累加越大,這個很好理解。當sum<0時,我們直接另sum=當前的陣列值,因為這一串已經小於0了,如果後面有正數,加在一起反而使後面的子序和變小。又因為res記錄著當前最大的子序和,所以不論後面還是否應更大的都不用擔心資料的丟失。
動態規劃:
class
solution
int[
] dp =
newint
[nums.length]
; dp[0]
= nums[0]
;int res =dp[0]
;for
(int i =
1; i < nums.length; i++
)return res;
}}
力扣簡單題 53 最大子序和
題目描述 給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。解題思路 給定兩個變數sum 以及sum1,sum用來儲存最大子串行之和,sum1...
53 最大子序和
給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。兩個變數,乙個是ans,用來儲存 更新子串行 乙個maxn,始終儲存著當前最大的子串行。子串行...
53 最大子序和
題目 給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6解釋 連續子陣列 4,1,2,1 的和最大,為 6。思路 因為要考慮連續,所以需注意兩點,與當前比較的必定包含當前節點的上乙個節點,前n個節點...