日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

子数组的最大累加和问题

發布時間:2025/4/5 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 子数组的最大累加和问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

  給定一個數組arr,返回子數組的最大累加和,?
  例如,arr = [1, -2, 3, 5, -2, 6, 1],所有的子數組中,[3, 5, -2, 6]可以累加出最大的累加和為12,所以返回12。

基本思路

  使用一個變量curSum記錄每一步的累加和,遍歷到正數curSum增加,遍歷到負數減小。當curSum < 0,說明累加到當前位置出現了小于0的結果,那么累加的這一部分肯定不能作為最大累加和子數組的前綴,此時令curSum = 0。使用一個全局變量記錄出現的最大累加和即可。
?

def maxSum(L):import sysif L == None or len(L) == 0:returnmaxSum = - sys.maxsizecurSum = 0for i in range(len(L)):curSum += L[i]maxSum = max(maxSum,curSum)if curSum > 0:curSum = curSumelse:curSum = 0return maxSum

?

總結

以上是生活随笔為你收集整理的子数组的最大累加和问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。