前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最大连续子序列和

最大连续子序列和

作者头像
致Great
发布2018-08-28 15:27:05
9670
发布2018-08-28 15:27:05
举报
文章被收录于专栏:程序生活程序生活

描述

给定一个数组,求出最大的连续子序列和

思路

在任何讲动态规范的地方都能找到求最大连续子序列和的例子。具体来说,假设数组为a[i],因为最大连续的子序列和必须是在位置0-(n-1)之间的某个位置结束。那么,当循环遍历到第i个位置时,如果其前面的连续子序列和小于等于0,那么以位置i结尾的最大连续子序列和就是第i个位置的值即a[i]。如果其前面的连续子序列和大于0,则以位置i结尾的最大连续子序列和为b[i] = max{ b[i-1]+a[i],a[i]},其中b[i]就是指最大连续子序列的和。

代码

代码语言:javascript
复制
def maxSum(list_of_nums):
    maxsum = 0
    maxtmp = 0
    for i in range(len(list_of_nums)):
        if maxtmp <= 0:
            maxtmp = list_of_nums[i]
        else:
            maxtmp += list_of_nums[i]

        if(maxtmp > maxsum):
            maxsum = maxtmp

    return maxsum

if __name__ == '__main__':
    list_of_num = [1,3,-3,4,-6]
    maxsum = maxSum(list_of_num)
    print "maxsum is: ",maxsum

来源

https://blog.csdn.net/bitcarmanlee/article/details/51526010

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 描述
  • 思路
  • 代码
  • 来源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档