连续子序列和最大
def max_sub_array(nums):
tmp, next_ = nums[0], nums[0] # 保存备查表最近的相邻两项
max_value = nums[0]
for i in range(1, len(nums)):
next_ = tmp + nums[i] if tmp > 0 else nums[i]
if max_value < next_:
max_value = next_
tmp = next_
return max_value
# 测试通过
nums = [-2,1,-3,4,-1,2,1,-5,4]
print(max_sub_array(nums)) # [4, -1, 2, 1] 为最大连续子序列
动态规划
本文介绍了一种求解最大连续子序列和的算法,通过动态规划方法,实现了对数组中连续子序列的最大和的高效查找。算法首先初始化备查表的前两项,然后遍历数组,更新备查表中的值,最终返回最大子序列和。
1万+

被折叠的 条评论
为什么被折叠?



