思路一(暴力解法):
在每乙個時間節點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...