最大连续子序列和

简介: 最大连续子序列和

描述


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


思路


在任何讲动态规范的地方都能找到求最大连续子序列和的例子。具体来说,假设数组为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]就是指最大连续子序列的和。


代码


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



相关文章
|
算法
刷题之Leetcode34题(超级详细)
刷题之Leetcode34题(超级详细)
130 0
|
前端开发 Java 数据库
springboot项目中信息分页查询的常规操作流程
springboot项目中信息分页查询的常规操作流程
305 0
|
机器学习/深度学习 弹性计算 编解码
阿里云ECS服务器架构GPU/FPGA/ASIC详细说明
阿里云ECS服务器架构GPU/FPGA/ASIC详细说明,阿里云服务器架构有什么区别?X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别?阿里云服务器网分享云服务器ECS架构详细说明
485 0
|
Android开发
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
|
前端开发
前端学习案例1-js的执行机制
前端学习案例1-js的执行机制
91 0
前端学习案例1-js的执行机制
|
存储 Java 应用服务中间件
客户端会话跟踪技术 Cookie 浅谈
客户端会话跟踪技术 Cookie 浅谈
257 0
|
移动开发 监控 算法
5_1_3_HaaS 首页信息屏_网络状态_网络对时|学习笔记
快速学习5_1_3_HaaS 首页信息屏_网络状态_网络对时。
210 0
5_1_3_HaaS 首页信息屏_网络状态_网络对时|学习笔记
|
存储 监控 数据库
时序数据库连载系列: RISElab的大杀器Confluo
挑战 随着越来越多的应用达到每秒千万级的数据点采集能力,比如终端IoT网络监控,智能家居,数据中心等等。 并且这些数据被应用于在线查询展示,监控,离线根因分析和系统优化。 这些场景要求系统具备高速写入,低延迟的在线查询以及低开销的离线查询的能力。
2775 0