LeetCode-53. 最大子序和-最簡單的動態規劃(Python3)
阿新 • • 發佈:2018-12-20
題目連結:
題目描述:
給定一個整數陣列 nums
,找到一個具有最大和的連續子陣列(子陣列最少包含一個元素),返回其最大和。
示例:
輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
題目思路:
動態規劃最重要的就是要求出狀態轉移方程
解題程式碼:
class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int """ max_list = list() max_list.append(nums[0]) for _ in nums[1:]: max_list.append(0) for i in range(1,len(nums)): max_list[i] = max(max_list[i-1]+nums[i],nums[i]) result = max(max_list) print(result) return result