python 求连续子数组最大和的简单示例

python 求连续子数组最大和的简单示例,第1张

概述python 求连续数组最大和的简单示例 感兴趣python 求连续子数组最大和的简单示例的小伙伴,下面一起跟随内存溢出 jb51.cc的小编来看看吧。<br>问题描述:例如:[6,-3,-2,7,-15,1,2,2]求连续子数组中的最大和,此数组中最大和为8,从arr[0]到arr[3]。其余位置都比这个要小。

最大连续子数组的特点:
(1)第一个不为负数
(2)如果前面数的累加加上当前数小于当前数,说明这次累加对总体的结果是无效的;如果前面数的累加加上当前数大于当前数,说明这次累加对结果是具有促进效果的,结果在考虑的范围内。

python实现代码如下:
#  内存溢出  (jb51.cc) def find_sub(arr):    #定义两个变量,一个用来存放之前的累加值,一个用来存储当前的最大和    max_sum=int(arr[0])#定义为第一个为最大    pre_sum=0    for i in arr:#遍历数组中的元素        if pre_sum<0:            pre_sum=int(i) #如果之前的累加和是小于0的则应该从当前值进行累加        else:            pre_sum+=int(i)            #如果是大于等于0的则需要将当前的数加到当前最大子数组中        if pre_sum>max_sum:            max_sum=pre_sum    return max_sumif __name__ == '__main__':    # numbers=[6,2]    numbers=eval(input("请输入一个整数数组:"))    print(find_sub(numbers))# End 内存溢出 jb51.cc
总结

以上是内存溢出为你收集整理的python 求连续子数组最大和的简单示例全部内容,希望文章能够帮你解决python 求连续子数组最大和的简单示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存