add bold highlight

This commit is contained in:
ShusenTang 2020-06-22 22:14:26 +08:00 committed by GitHub
parent dc410fd8aa
commit 52c49cfd52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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`入栈。