53. 最大子序和
給定一個(gè)整數(shù)數(shù)組 nums ,找到一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。
示例:
輸入: [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續(xù)子數(shù)組 [4,-1,2,1] 的和最大,為 6。
解題思路:
如果前面的和為負(fù)數(shù),就開啟新的子數(shù)組。因?yàn)榧由弦粋€(gè)負(fù)數(shù),只會讓和更小。
for i in range(1, len(nums)):
if nums[i-1] > 0:
nums[i] += nums[i-1]
return max(nums)
時(shí)間復(fù)雜度:O(N)
空間復(fù)雜度:O(N)