手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何用PYTHON解决最大子序和问题

时间:2024-10-13 13:09:30

1、打开JUPYTER NOTEBOOK,新建一个PY文档。

如何用PYTHON解决最大子序和问题

2、nums = [-2,1,-3,4,-1,2,1,-5,4]定义一个列表,我们需要找到最大和。

如何用PYTHON解决最大子序和问题

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

如何用PYTHON解决最大子序和问题

4、max = nums[0]#设置一个max,记录最大的和,可以先定义第一个数是最大的数。

如何用PYTHON解决最大子序和问题

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

如何用PYTHON解决最大子序和问题

6、def maxSubArray(nums): sum = 0 max = nums[0] for i in range(len(nums)): sum = sum + nums[i] max = max(max, sum) return max开始进行叠加,然后进行对比看看哪个和才是最大值。

如何用PYTHON解决最大子序和问题

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,因为负数怎么叠加会使得整体变小。

如何用PYTHON解决最大子序和问题

8、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 max修改整理一下。

如何用PYTHON解决最大子序和问题

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)但是这里出现了问题。

如何用PYTHON解决最大子序和问题
如何用PYTHON解决最大子序和问题

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即可。

如何用PYTHON解决最大子序和问题
© 手抄报圈