一、53. 最大子数组和
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
if len(nums) == 1:
return nums[0]
preSum = [0] * (len(nums) + 1)
for idx, n in enumerate(nums):
preSum[idx + 1] = preSum[idx] + n
res = float('-inf')
for idx, p in enumerate(preSum):
for i in range(idx):
res = max(res, p - preSum[i])
return res
class Solution:
def maxSubArray(self, nums):
if len(nums) == 1:
return nums[0]
res = float('-inf')
preSum = 0
minPreSum = 0
n nums:
preSum += n
res = (res, preSum - minPreSum)
minPreSum = (minPreSum, preSum)
res