單調棧適用於當你需要高效率的查詢某個位置左右兩側比他大或小的數的位置
1.買賣股票的最佳時間:
維護單調棧的思路:
在 pricespricesprices 數組的末尾加上一個 哨兵👨✈️(也就是一個很小的元素,這裏設爲 0)),就相當於作爲股市收盤的標記(後面就清楚他的作用了)
假如棧空或者入棧元素大於棧頂元素,直接入棧
假如入棧元素小於棧頂元素則循環彈棧,直到入棧元素大於棧頂元素或者棧空
在每次彈出的時候,我們拿他與買入的值(也就是棧底)做差,維護一個最大值。
單調棧適用於當你需要高效率的查詢某個位置左右兩側比他大或小的數的位置
1.買賣股票的最佳時間:
維護單調棧的思路:
在 pricespricesprices 數組的末尾加上一個 哨兵👨✈️(也就是一個很小的元素,這裏設爲 0)),就相當於作爲股市收盤的標記(後面就清楚他的作用了)
假如棧空或者入棧元素大於棧頂元素,直接入棧
假如入棧元素小於棧頂元素則循環彈棧,直到入棧元素大於棧頂元素或者棧空
在每次彈出的時候,我們拿他與買入的值(也就是棧底)做差,維護一個最大值。
翻轉一棵二叉樹。 示例: 輸入: 4 / \ 2 7 / \ / \ 1 3 6 9 輸出: 4 / \ 7 2 / \ / \ 9 6