Leetcode 1856. Maximum Subarray Min-Product [Python]
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 1856. Maximum Subarray Min-Product [Python]
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一道奇怪的題目,用單調棧。
遍歷array中的元素,然后對比棧頂?shù)臄?shù)字,
如果比棧頂?shù)拇?#xff0c;入棧。
如果比棧頂?shù)男?#xff0c;棧頂元素出棧。
此時,被從棧頂元素開始往回看,因為是單調上升的單調棧,其之后的元素一定小于棧頂這個元素。于是,每次彈出的元素,都是原本棧頂元素對應的位置往回遍歷到當前棧頂元素中的最小值。于是,我們可以更新此時的susbarry的計算值。我們還需要注意的是,每次遍歷到的值入棧,我們都入棧這個值,以及這個值往回看,作為最小值可以到達的最左側的位置。也就是這個值為最小值的subarray的最左側起始位置。
總結
以上是生活随笔為你收集整理的Leetcode 1856. Maximum Subarray Min-Product [Python]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: error setting certif
- 下一篇: 橱窗设计的表现手法