Python
方法一:动态规划算法,寻找最优子结构,时间复杂度n
def maxSubArray(self, nums: 'List[int]') -> 'int':
l = len(nums)
i = 0
sum = 0
MaxSum = nums[0]
while i < l:
sum+=nums[i]
if sum > MaxSum:
MaxSum = sum
if sum < 0:
sum = 0
i+=1
return MaxSum
优化版:
def maxSubArray(self, nums: 'List[int]') -> 'int':
sum = 0
MaxSum = nums[0]
for i in range(len(nums)):
sum += nums[i]
if sum > MaxSum:
MaxSum = sum
if sum < 0:
sum = 0
return MaxSum