Skip to content

Commit 74977b4

Browse files
authored
Update Readme.md
1 parent 3a80cbb commit 74977b4

File tree

1 file changed

+2
-2
lines changed
  • Dynamic_Programming/2036.Maximum-Alternating-Subarray-Sum

1 file changed

+2
-2
lines changed

Dynamic_Programming/2036.Maximum-Alternating-Subarray-Sum/Readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
我们定义两个状态,curSum0[i]表示以元素i结尾、并且元素i本身未被符号翻转的情况下(即+nums[i]),能够得到的max subarray sum. 同理,curSum1[i]表示以元素i结尾、并且元素i本身已经被符号翻转的情况下(即-nums[i]),能够得到的max subarray sum.
44

5-
对于curSum0[i],它两种可能。要么只有仅包含单个元素+nums[i]要么需要和前面的subarray连起来使用,显然能与+nums[i]连在一起的,必然是curSum1[i-1]. 所以```curSum0[i] = max(nums[i], curSum1[i-1]+nums[i]```.
5+
对于curSum0[i],它两种可能。要么subarray仅包含单个元素+nums[i]要么需要把+nums[i]和前面的subarray连起来使用:显然能与+nums[i]连在一起的,必然是curSum1[i-1]. 所以```curSum0[i] = max(nums[i], curSum1[i-1]+nums[i]```.
66

7-
对于curSum1[i],它其实只有一种可能,即需要和前面的subarray连起来使用。这是因为题目不允许subarray的开头是一个符号反转的元素。所以必然-nums[i]要与curSum0[i-1]连在一起. 所以```curSum1[i] = curSum0[i-1]-nums[i]```.
7+
对于curSum1[i],它其实只有一种可能,即需要和前面的subarray连起来使用。这是因为题目不允许subarray的开头是一个符号反转的元素。所以-nums[i]必须curSum0[i-1]连在一起. 所以```curSum1[i] = curSum0[i-1]-nums[i]```.
88

99
此外特别注意,对于边界条件,curSum1[-1]可以是0,但是curSum0[-1]必须设置为无穷小。这是因为nums[0]只能作为一个subarray的开头,它不能被符号翻转,所以```curSum1[0] = curSum0[-1]-nums[i]```没有意义。

0 commit comments

Comments
 (0)