高級數據結構-單調棧

單調棧的基本應用:在一串數中,找到左邊和右邊最近的大於(小於)自己的數,O(n)實現。 以找最近鄰大數爲例,解法是維護一個單調遞增的棧。假設現在有一個單調棧,從棧底至棧頂元素爲A、B、C,現在要插入元素D。如果D>C,那麼要講C彈出,同時,C的右值爲D,左值爲B。遍歷完成之後,棧中可能還會剩下一些元素,但是對於這些元素來說,因爲壓在自己上面的都是比自己小的數,所以他們沒有最右近鄰值。 理由說明:由
相關文章
相關標籤/搜索