单点时限: 10.0 sec
内存限制: 1024 MB
给你一个整数数组 nums
, 请你找出一个具有最大和的连续子数组 (子数组最少包含一个元素), 返回其最大和.
子数组 是数组中的一个连续部分.
示例 1:
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大, 为 6.
示例 2:
输入:nums = [1]
输出:1
解释:连续子数组 [1] 的和最大, 为 1.
示例 3:
输入:nums = [5,4,-1,7,8]
输出:23
解释:连续子数组 [5,4,-1,7,8] 的和最大, 为 23.
[-2,1,-3,4,-1,2,1,-5,4]
6
[1]
1
[5,4,-1,7,8]
23
以arr[i-1]结尾的的最大和 + x
和 x
之间的较大值从0到n中,以arr[i]结尾的连续子数组最大和
中的最大值.数据输入输出部分已为你准备好, 请书写函数体部分以完成作答.
def maxSubArray(nums) -> int:
# finish the function.
return maxAns
nums = [int(x) for x in input().strip('[]').split(',') if x]
print(maxSubArray(nums))
题目来源: leetcode