老衛帶你學---leetcode刷題(53. 最大子序和)

53. 最大子序和

問題:

給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。

示例:

輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子數組 [4,-1,2,1] 的和最大,爲 6

解決:

思想:

在這裏插入圖片描述

python代碼:
class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        n=len(nums)
        
        dp=[None]*n
        dp[0]=nums[0]
        max_result=dp[0]
        for i in range(1,n):
            dp[i]=max(dp[i-1]+nums[i],nums[i])
            if(max_result<dp[i]):
                max_result=dp[i]
        return max_result
            
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章