LEETCODE 739 每日溫度

2021-10-07 02:19:04 字數 500 閱讀 9134

思路一(暴力解法):

在每乙個時間節點i向後找到離此節點最近的溫度高於t[i]的節點。

思路二(單調棧):

可以維護乙個儲存下標的單調棧,從棧底到棧頂的下標對應的溫度列表中的溫度依次遞減。如果乙個下標在單調棧裡,則表示尚未找到下一次溫度更高的下標。

暴力解法**:

class

solution

else

} hours[j]

=z;}

}return hours;

}}

單調棧**:

class

solution

stack.

push

(i);

}return hours;

}}

時間複雜度:o(n)

空間複雜度:o(n)

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 從後一天往前一天推,...

leetcode739 每日溫度

即找之後第乙個比自己大的元素 參考 用棧實現 將元素 下標 依次入棧並且保證棧內元素從棧頂到棧底是遞增的。如果當前元素比棧頂元素大,則說明當前元素就是比棧頂元素大的第乙個元素,求出兩個下標的差值即為棧頂元素對應的結果。依次出棧並計算下標差直到棧頂元素大於當前元素,將當前元素入棧 比如 t 73,74...