如何用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解决最大子序和问题
  • 如何做好企业的噪音管理
  • 科罗威啤酒是不是精酿啤酒?该怎么辨别?
  • 凉拌海带丝怎么做?
  • 七雄纷争手游装备怎么回收
  • 腌芹菜木耳
  • 热门搜索
    初中手抄报版面设计 放飞梦想手抄报资料 读书手抄报的资料 地震知识手抄报 我爱读书手抄报花边 防火手抄报资料 热爱生命手抄报资料 绿色家园手抄报资料 语文手抄报内容大全 小学垃圾分类手抄报