如何用PYTHON解决最大子序和问题
1、打开JUPYTER NOTEBOOK,新建一个PY文档。

3、sum = 0设置一个sum,记录连续相加的和。

5、def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): return max我们需要用循环来遍历整个列表。

7、def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): sum = sum + nums[i] max = max(max, sum) if sum < 0: sum = 0 return max如果叠加为负数的话就重启sum,因为负数怎么叠加会使得整体变小。

9、def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): sum += nums[i] if max <= sum: max = sum elif sum < 0: sum = 0 return maxnums = [-2,1,-3,4,-1,2,1,-5,4]maxSubArray(nums)我们进行一下测试。def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): sum += nums[i] if max <= sum: max = sum elif sum < 0: sum = 0 return maxnums = [-2, 1]maxSubArray(nums)但是这里出现了问题。

10、def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): sum += nums[i] if max <= sum: max = sum if sum < 0: sum = 0 return maxnums = [-2, 1]maxSubArray(nums)这里都修改为if即可。
