题目: 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 数据范围: 1 <= n <= 10^5 -100 <= a[i] <= 100
要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n) 进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)
一开始以为难,其实写起来很简单,只要和大于零,说明可以合并,不然就舍弃
```#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param array int整型一维数组
# @return int整型
#
class Solution:
def FindGreatestSumOfSubArray(self , array: List[int]) -> int:
# write code here
result = array[0]
r = 0
for i in array:
r += i
if(result < r):
result = r
if(r < 0):
r = 0
return result