时间复杂度O(N)
空间复杂度O(1)
动态规划:
> dp[i] = dp[i-1] + p[i] # if i != 0 and dp[i-1] > 0 > dp[i] = p[i] # if i == 0 or dp[i-1] < 0
代码:
class Solution:
def FindGreatestSumOfSubArray(self, array):
# write code here
if not array:
return None
maxNum = array[0]
for i in range(1,len(array)):
if array[i-1] > 0:
array[i] = array[i-1] + array[i]
maxNum = max(maxNum, array[i])
return maxNum
京公网安备 11010502036488号