leetcode_最大子序和
描述:
給定一個整數陣列 nums
,找到一個具有最大和的連續子陣列(子陣列最少包含一個元素),返回其最大和。
示例:
輸入: [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
解題思路:
動態規劃
nums[i-1]表示到前一項為止的最大子序和 ,如果大於0就可以相加獲得當前位置最大子序和,否則保持當前值不變。
其實就是要求當前最大子序和,可以考慮前一位置最大子序和,如果是大於0的,加上當前值,以獲得當前位置最大子序和,小於0,就不加
class Solution(object):
def maxSubArray(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
for i in range(1,len(nums)):
nums[i] = nums[i] + max(nums[i-1], 0)
return max(nums)
相關文章
- 53. 最大子序和(python3)Python
- 【刷演算法】LeetCode.53-最大子序和演算法LeetCode
- 順序表應用7:最大子段和之分治遞迴法遞迴
- 【LeetCode】【分治法】連續數列(最大子序和)思路解析和程式碼LeetCode
- 最大子段和 | 最大子矩陣 | 最大M子段和矩陣
- 順序表應用8:最大子段和之動態規劃法動態規劃
- 最大子矩陣和矩陣
- 53. 最大子陣列和陣列
- 動態規劃求解最大子段和 (兩種寫法+還原最優解)動態規劃
- [-演算法篇-] 最大子序列和演算法
- 迴圈陣列最大子段和陣列
- 最大連續子陣列和(最大子段和)陣列
- poj1050 最大子矩陣和矩陣
- 最大子陣列和問題的解陣列
- 【力扣】最大子陣列和(貪心)力扣陣列
- [Python手撕]最大子陣列和Python陣列
- POJ 1050-To the Max(最大子矩陣和)矩陣
- LeetCode53. 最大子陣列和LeetCode陣列
- 求二維陣列中最大子陣列的和陣列
- 遞迴和迭代實現二叉樹先序、中序、後序和層序遍歷遞迴二叉樹
- 程式碼隨想錄演算法訓練營第50天 | 1143.最長公共子序列 、1035.不相交的線 、53. 最大子序和、392.判斷子序列演算法
- 51nod 1254 最大子段和 V2
- 演算法5: LeetCode_單連結串列_兩數相加演算法LeetCode
- 二叉樹先知道後序和中序,求先序二叉樹
- 動態規劃---例題3.最大子段和問題動態規劃
- openjudge1768 最大子矩陣[二維字首和or遞推|DP]矩陣
- 動態規劃-最大子矩陣和(ZOJ 1074 TO THE MAX )動態規劃矩陣
- 【刷題筆記】LeetCode-53 最大子陣列和筆記LeetCode陣列
- 程式碼隨想錄演算法訓練營第五十三天| ● 1143.最長公共子序列 ● 1035.不相交的線 ● 53. 最大子序和 動態規劃演算法動態規劃
- modbus和位元組序
- #1502 : 最大子矩陣矩陣
- 【DP】乘積最大子陣列陣列
- 從0打卡leetcode之day 3 -- 最大子序列和LeetCode
- 已知二叉樹的先序和後序求任意一中序二叉樹
- 演算法學習之路|POJ-2479最大子串和(簡單dp)演算法
- NOIP2013pj小朋友的數字[DP 最大子段和]
- 非遞迴遍歷二叉樹的四種策略-先序、中序、後序和層序遞迴二叉樹
- 最大子陣——動態規劃DP動態規劃