最长连续子序列和的所含元素 -- 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]

'''
相关推荐
小关会打代码几秒前
关于Pycharm中在运行出现语法错误:Non-UTF-8 code starting with
ide·python·pycharm
用户3721574261351 分钟前
Python 高效将 PDF 转换为 HTML 的实用指南
python
深栈2 分钟前
机器学习:编码方式
人工智能·python·机器学习·编码
yzx9910136 分钟前
Django 搭配数据库开发智慧园区系统全攻略
python·django·数据库开发
PixelMind15 分钟前
【LLIE技术专题】 SCI代码讲解
图像处理·python·低照度图像增强·llie
萘柰奈19 分钟前
LeetCode刷题记录----62.不同路径(Medium)
算法·leetcode·职场和发展
日落辞朝阳24 分钟前
数据结构——顺序表
数据结构
阳光明媚sunny25 分钟前
爬楼梯算法java实现
算法·动态规划
Z_z在努力34 分钟前
【数据结构】哈希表(Hash Table)详解
数据结构·哈希算法·散列表
天才测试猿37 分钟前
Python常用自动化测试框架—Pytest详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest