From 3a2f1de8ebe29cb8c38694c8b0270c63c819a216 Mon Sep 17 00:00:00 2001 From: ShusenTang Date: Sun, 9 Feb 2020 19:32:49 +0800 Subject: [PATCH] update 53 --- solutions/53. Maximum Subarray.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/solutions/53. Maximum Subarray.md b/solutions/53. Maximum Subarray.md index d67be57..aba787c 100644 --- a/solutions/53. Maximum Subarray.md +++ b/solutions/53. Maximum Subarray.md @@ -1,8 +1,11 @@ # [53. Maximum Subarray](https://leetcode.com/problems/maximum-subarray/description/) # 思路 -从前往后遍历一遍,用currsum记录以当前位置为结尾的最大子序列和。可见currsum要么等于nums[i]本身,要么等于nums[i]加上上一个currsum,即更新准则为: -如果currsum大于0,那么currsum += nums[i]; -否则currsum = nums[i] +就是一个简单的动态规划。从前往后遍历一遍,用currsum记录以当前位置为结尾的最大子序列和。可见currsum要么等于nums[i]本身,要么等于nums[i]加上上一个currsum,即更新准则为: +* 如果currsum大于0,那么`currsum += nums[i]`; +* 否则,则`currsum = nums[i]`。 + +时间复杂度O(n),空间复杂度O(1) + # C++ ``` C++ class Solution {