LeetCode筆記 739 每日溫度

2021-10-25 02:20:26 字數 526 閱讀 2375

不考慮暴力遍歷的方法,太笨比了,失去了刷題的意義。

這個題目是在棧相關的練習下,所以考慮借助棧來解決。

1、先從頭開始遍歷陣列,依次將溫度入棧;

2、如果當前溫度大於棧頂溫度,將棧頂溫度出棧,且兩個溫度的下標之差就是所求的需要等待的天數。然後繼續比較當前溫度跟新的棧頂溫度的大小,重複之前的操作,直到該溫度小於棧頂元素,則將其入棧;

3、如果當前溫度小於棧頂溫度,則繼續將下乙個元素入棧,直到該溫度大於棧頂溫度,跳轉至步驟2;

4、遍歷直到陣列結束;

其實上述步驟就是為了構建乙個遞減棧。

class

solution

st.push

(i);

}return res;}}

;

LeetCode 每日溫度 739

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

LeetCode 739 每日溫度

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

LeetCode 739 每日溫度

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