给定一个数组,求其最大连续子数组的和。
def max_sub_array(arr):
n = len(arr)
maxi,maxall = arr[0],arr[0]
for i in range(1,n):
maxi = max(arr[i],maxi + arr[i])
maxall = max(maxall,maxi)
return(maxall)
print(max_sub_array([1,5,-10,2,5,-3,2,6,-3,1]))
本文介绍了一种求解最大连续子数组和的算法实现,通过动态规划思想,遍历数组,维护当前子数组的最大和及全局最大和,最终返回全局最大和。
给定一个数组,求其最大连续子数组的和。
def max_sub_array(arr):
n = len(arr)
maxi,maxall = arr[0],arr[0]
for i in range(1,n):
maxi = max(arr[i],maxi + arr[i])
maxall = max(maxall,maxi)
return(maxall)
print(max_sub_array([1,5,-10,2,5,-3,2,6,-3,1]))

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