求一个序列之中,和最大的子序列
去一个国际知名支付方式公司面试,面试的人出了这样一道题:
有一个不知道长度的序列,求和最大的一个子序列,以及它的和
如:[1,2,3,-4,-5,-6]
它有很多子序列[1]、[1,2]、[1、2、3]等等
和最大的是 [1,2,3]
确定参数的范围
1. 参数范围
假设序列为L ,子序列为subL,那么:
子序列的起始索引的可能性,就是从0到 len(L)-1
子序列的结束索引的可能性,就是从 起始索引到len(L)-1
如图所示:
2.求和
确定好子序列后,求出子序列的和。
Python实现方式
"""
求一个序列,和最大的子序列
@Author: Biglucky
@Date: 2018-03-28
"""
def returnBiggest(L):