滑动窗口确定矩形长
直方图中的最大矩形
http://www.nowcoder.com/questionTerminal/e3f491c56b7747539b93e5704b6eca40
- 双指针滑动窗口确定矩形长
 - 以当前高程为基准左右边界水平扩展
 - 遍历小于基准停止扩展,计算矩形图面积,取时大值
 
func largestRectangleArea( height []int ) int {
    var max int
    for i:=0;i<len(height);i++{
        if height[i] !=0 {
            left,right := i,i
            for right < len(height)-1 && height[right+1] >= height[i]{
                right++
            }
            for left > 0 && height[left-1] >= height[i] {
                left--
            }
            if cur := height[i] *(right - left + 1);cur > max {
                max = cur
            }
        }
    }
    return max
}与栈无太大关系,被标签误导了,读懂题意很重要

查看6道真题和解析