leetcode 最大子序列和(连续)

这道题很多地方都有讲解,容易查到,算是个复习吧(leetcode有没有这题还真不知道,突然想起来的,就实现了下,今天偷懒了):

基本思路是如果一个子序列当前为正数,显然他和后面的值相加会使得后面的序列变得更大。

如果不需要找出来这个子序列:只是求得最大值,所以我们可以一边遍历一边更新最大值。

最终遍历结束最大值也就算出来了,代码如下:


 1  def max_sum_sub_list(l): 

  2     maxsum = 0

  3     cur = 0

  4     for i in l:

  5         cur += i 

  6         if cur > maxsum:

  7             maxsum = cur

  8         if cur <0:

  9             cur =0

 10     

 11     return maxsum


你可能感兴趣的:(算法)