最长连续子序列和的所含元素 -- Kadane算法拓展

建议先回顾经典Kadane算法 -- 最长连续子序列和:
最大连续子序列和(动态规划 -- 经典Kadane算法)-CSDN博客

拓展代码:

python 复制代码
def max_subarray_sum(nums):
    global_max = current_max = nums[0]
    left = right = temp = 0

    for i in range(1, len(nums)):
        if nums[i] > current_max + nums[i]: # # 更换起始点
            current_max = nums[i]
            # temp = i # 也可以用temp作为保险记录,防止出错
            left = i
        else:
            current_max += nums[i]

        if current_max > global_max: # 如果当前连续子序列还可以边长,更新global_max,并且记录右边界left
            global_max = current_max
            # left ,right = temp, i # 记录每一满足的区间
            right = i

    return global_max, nums[left:right+1] # 取不到右边界,需要+1

nums = [-2,1,-3,4,-1,2,1,-5,4]

global_max, subarray = max_subarray_sum(nums)
print(global_max)  
print(subarray)

'''
6
[4, -1, 2, 1]

'''
相关推荐
猛犸MAMMOTH4 分钟前
Python打卡第46天
开发语言·python·机器学习
枫景Maple18 分钟前
LeetCode 2297. 跳跃游戏 VIII(中等)
算法·leetcode
鑫鑫向栄18 分钟前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄19 分钟前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯
多多*30 分钟前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
梓仁沐白30 分钟前
【Kotlin】协程
开发语言·python·kotlin
Java Fans1 小时前
在WPF项目中集成Python:Python.NET深度实战指南
python·.net·wpf
小wanga1 小时前
【递归、搜索与回溯】专题三 穷举vs暴搜vs回溯vs剪枝
c++·算法·机器学习·剪枝
豌豆花下猫1 小时前
Python 潮流周刊#105:Dify突破10万星、2025全栈开发的最佳实践
后端·python·ai
天宫风子1 小时前
线性代数小述(一)
线性代数·算法·矩阵·抽象代数