1. 双指针滑动窗口确定矩形长
  2. 以当前高程为基准左右边界水平扩展
  3. 遍历小于基准停止扩展,计算矩形图面积,取时大值
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
}

与栈无太大关系,被标签误导了,读懂题意很重要