给出一个柱形统计图中,求其中的最大矩形面积
做完这道题,搜了一下题解大部分基本都是单调栈......然而做之前并不知道这是什么,其实用递推也可以做这道题,理解起来比较容易。
用两个数组l,r记录当前坐标可以向左和向右延伸的最远位置的坐标,然后就是递推了。
初始时将l[i],r[i]的值置为i,即自己的坐标。这里拿l[i]举例:
从左向右扫描统计图,计算当前位置的l[i]时,如果h[i] > h[ l[i] - 1 ]的话,那么l[i] = l[ l[i]-1 ]。
然后对于每个位置,ans = max(h[i]*(r[i] - l[i] + 1))
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-25 17:23:08