给定一个整数数组,找出总和最大的连续数列,并返回总和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/contiguous-sequence-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution(object):
def maxSubArray(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
temp=nums[0]
res=nums[0]
for i in range(1,len(nums)):
if temp+nums[i]<nums[i]:
temp=nums[i]
else:
temp+=nums[i]
if temp>res:
res=temp
return res
执行结果:
通过
显示详情
执行用时 :24 ms, 在所有 Python 提交中击败了84.42%的用户
内存消耗 :13.2 MB, 在所有 Python 提交中击败了100.00%的用户
本文介绍了一种解决最大连续子数组求和问题的高效算法,通过动态规划思想,实现O(n)的时间复杂度,快速找到给定数组中连续子数组的最大和。


被折叠的 条评论
为什么被折叠?



