單調棧

 單調棧: 單調棧解決的是:以某個值爲最小(最大)值的最大區間。 實現方法: 求最小值(最大值)的最大區間,維護一個遞減(遞增)的棧。(下面以求最小值最大區間爲例) 當遇到一個比棧頂小的值的時候開始彈棧,彈棧停止的位置到這個值的區間即爲此值左邊的最大區間;同時,當一個值被彈掉的時候也就意味着比它更小的值來了,也可以計算被彈掉的值的右邊的最大區間。 單調遞增:數據出棧的序列爲單調遞增序列(即從棧頂到
相關文章
相關標籤/搜索