最大连续子数组的特点:
(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 求连续子数组最大和的简单示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)