如何用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解决最大子序和问题
  • 如何做好企业的噪音管理
  • 科罗威啤酒是不是精酿啤酒?该怎么辨别?
  • 凉拌海带丝怎么做?
  • 七雄纷争手游装备怎么回收
  • 腌芹菜木耳
  • 热门搜索
    tcl的电视怎么样 手机备忘录怎么导出 如何挽回 眼肿了怎么快速消肿 粤t是哪里的车牌 三国荆州是现在哪里 微信照片怎么传到电脑 如何提高管理能力 阿里巴巴在哪里上市 华山旅游景点