mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
add bold highlight
This commit is contained in:
parent
dc410fd8aa
commit
52c49cfd52
@ -21,7 +21,7 @@
|
||||
因为我们向找到`heights[i] > heights[i+1]`的情况,所以我么可以维护一个单调递增的栈,栈里面存放的是下标,具体我们这样处理:
|
||||
* 若`heights[i]`比栈顶大,直接入栈即可;
|
||||
* 否则,说明`i-1`就是我们要找的候选右边界(含),右边界有了那左边界和矩形高呢?我们只能不断往左扩展,为此我们不断出栈直到栈空或者`heights[i]`比栈顶大:
|
||||
* 这个出栈过程中,刚刚出栈的元素对应的height就为矩形的高,此时的栈顶元素设为left就为左边界(不含),所以宽就为`i - 1 - left`(如果栈空的话宽应该是`i`),所以此时的候选矩形面积就可以算出来了。(这里比较难理解,需要结合单调递增栈始终满足的条件:栈顶的元素在原数组中的左边第一个比他小的元素就是次顶元素)
|
||||
* 这个出栈过程中,刚刚出栈的元素对应的height就为矩形的高,此时的栈顶元素设为left就为左边界(不含),所以宽就为`i - 1 - left`(如果栈空的话宽应该是`i`),所以此时的候选矩形面积就可以算出来了。(这里比较难理解,需要结合**单调递增栈始终满足的条件:栈顶的元素在原数组中的左边第一个比他小的元素就是次顶元素**)
|
||||
|
||||
最后将`i`入栈。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user