用python编写一个输出和最大的连续子序列的程序

子序列必须是连续的,输入序列长度的任意的,子序列的和必须是序列的所有子序列里最大的。... 子序列必须是连续的,输入序列长度的任意的,子序列的和必须是序列的所有子序列里最大的。 展开
 我来答
tim_spac
2013-12-14 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:1992万
展开全部
def findresult(serial):
    subresults = []
    flag = False
    for i in serial:
        if flag and i < 0:
            flag = False
        elif flag:
            subresults[-1].append(i)
        elif i > 0:
            flag = True
            subresults.append([i])
    return sorted(subresults, key=lambda x: sum(x), reverse=True)[0]

因为子序列必须是连续的,所以每个局部和最大的子序列是前后为边界或负数的区间

    

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式