53. 最大子序和
問題:
給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。
示例:
輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子數組 [4,-1,2,1] 的和最大,爲 6。
解決:
思想:
python代碼:
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
n=len(nums)
dp=[None]*n
dp[0]=nums[0]
max_result=dp[0]
for i in range(1,n):
dp[i]=max(dp[i-1]+nums[i],nums[i])
if(max_result<dp[i]):
max_result=dp[i]
return max_result