"""
一个有n个元素的数组,这n个元素即可以是正数也可以是负数,数组中连续的一个或多个元素可以组成一个连续的子数组,一个数组可能有多个这种连续子数组,求子数组和的最大值。
例如,对于数组[1,-2,4,8,-4,7,-1,-5]而言,其最大和的子数组为[4,8,-4,7],最大值为15.
"""
def maxSubArray1(arr):
if arr == None or len(arr) < 1:
print('参数不合法')
return 0
maxSum = -2 ** 32
for i in range(len(arr)):
sum = 0
for j in range(i, len(arr)):
sum += arr[j]
if sum > maxSum:
maxSum = sum
return maxSum
if __name__ == '__main__':
arr = [1, -2, 4, 8, -4, 7, -1, -5]
print('连续最大和为:' + str(maxSubArray1(arr)))
如何求数组连续最大和
最新推荐文章于 2022-06-10 11:14:01 发布