class Solution:
def maxSubArray(self, nums: List[int]) -> int:
fn = nums.copy()
tmp = []
for i in range(1, len(nums), 1):
if(nums[i] <= 0):
if fn[i-1] >= 0:
fn[i] = fn[i-1]
tmp.append(i)
else:
fn[i] = max(nums[i], fn[i-1])
else:
temp = fn[i-1]
for index in tmp:
temp += nums[index]
if temp > 0:
fn[i] = temp + nums[i]
else:
fn[i] = nums[i]
tmp = []
return max(fn)
# 53. 最大子序和
最新推荐文章于 2023-12-04 16:25:04 发布