LeetCode 84. 柱状图中最大的矩形(单调递增栈)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 84. 柱状图中最大的矩形(单调递增栈)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
題目鏈接
給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。
求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。
以上是柱狀圖的示例,其中每個柱子的寬度為 1,給定的高度為 [2,1,5,6,2,3]。
圖中陰影部分為所能勾勒出的最大矩形面積,其面積為 10 個單位。
2. 解題
類似題目:
LeetCode 11. 盛最多水的容器(雙指針)
LeetCode 42. 接雨水(雙指針、單調棧)
LeetCode 85. 最大矩形(DP,難)
- 單調遞增棧,遇到遞減的進行處理,最后未處理完的,在末尾加個0(遇到遞減了,處理剩余的)
- 棧內左側的都比棧頂小,當前的也比其小,那么以棧頂為高的矩形能夠擴展的寬度就知道了,寬度 = 當前位置 減去 棧頂左側位置,再減1
20 ms 8.7 MB
總結
以上是生活随笔為你收集整理的LeetCode 84. 柱状图中最大的矩形(单调递增栈)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Kaggle】Intermediate
- 下一篇: LeetCode 388. 文件的最长绝