题目
代码
class Solution:
def maxSubArray(self, nums):
if max(nums) < 0:
return max(nums)
local_max, global_max = 0, 0
# 定义两个变量
# 一直会改变的最大值local_max,比如,在每一次+num时,该值在不断变化
# 对于全局来说的最大值global_max
# 使这两个变量等于0,因为已经考虑了全是负数,for中的num肯定有大于0的
for num in nums:
local_max = max(0, local_max + num)
global_max = max(global_max, local_max)
return global_max
sol = Solution()
result = sol.maxSubArray([-2, 1, -3, 4, -1, 2, 1, -5, 4])
print(result)