
dp最大和
卑微小杨
这个作者很懒,什么都没留下…
展开
-
42接雨水
单调栈法:单调栈解法是按照行来计算的。对应在图中的中间倒坦克部分,就是先算坦克尖的面积,再算坦克身的面积。比较难理解,会就会吧,不会就看动归。首先维持单调栈一贯的风格,stack储存下标,sum用来计数。然后遍历,单调栈的元素顺序从栈头到栈尾是从小到大,如果一旦发现待添加的柱子高度大于栈头元素,说明出现凹槽,从栈头开始数,第二个元素代表的就是凹槽左边的柱子,待添加的元素就是右边的柱子。当遇到相同高度的柱子的时候,我们要更新stack让旧元素弹出,放入新的元素,因为我们是从左向右遍历,所以在计算宽度原创 2021-07-16 21:20:01 · 123 阅读 · 0 评论 -
leetcode53(res)
class Solution: def maxSubArray(self, nums: List[int]) -> int: if len(nums) == 0: return 0 dp = [0] * len(nums) dp[0] = nums[0] result = dp[0] for i in range(1, len(nums)): dp[i] = max.原创 2021-06-29 10:27:45 · 70 阅读 · 0 评论