LeetCode 每日溫度(遞減棧)

2021-09-20 15:21:50 字數 526 閱讀 1502

根據每日 氣溫 列表,請重新生成乙個列表,對應位置的輸入是你需要再等待多久溫度才會公升高的天數。如果之後都不會公升高,請輸入 0 來代替。

例如,給定乙個列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的輸出應該是 [1, 1, 4, 2, 1, 1, 0, 0]。

思路分析:和 上一道題 leetcode 下乙個更大元素i(hash表、棧) 一模一樣,我們只要掃瞄陣列的時候維護乙個遞減的棧,每次往棧頂放元素時,先與當前棧頂比較,如果棧頂元素小於當前元素,說明棧頂元素找到了下乙個公升高的溫度。

class

solution

mystack.

push

(index)

;//每次都需要放入棧中

739 每日溫度 遞減棧

根據每日氣溫列表,請重新生成乙個列表,對應位置的輸入是你需要再等待多久溫度才會公升高的天數。如果之後都不會公升高,請輸入0來代替。例如,給定乙個列表temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 氣溫列表長度的範圍是 1,30...

leetcode 每日溫度(單調棧)

類似於 柱狀圖中最大的矩形 單調棧 請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該...

LeetCode 739 每日溫度(棧)

leetcode 739 每日溫度 棧 根據每日 氣溫 列表,請重新生成乙個列表,對應位置的輸出是需要再等待多久溫度才會公升高超過該日的天數。如果之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 ...