42 接雨水
- 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
- 输出:6
- 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)
silu:
维护一个单调递减栈,当递增时,出栈时,记录当前的雨水存储量。
单调栈中存储数组下标,是为了得到雨水的宽度,并可以通过下标得到数组的高度
84 最大矩形
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。
求在该柱状图中,能够勾勒出来的矩形的最大面积。
输入:heights = [2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为 10
思路:
使用单调递增栈,递减时,计算此时的最大矩阵;最后要把stack掏空
