739.每日溫度 o(n
2)
o(n^2)
o(n2
)
class
solution
else
} res[i]
= tmp}return res;
}}
o(n
)o(n)
o(n)
class
solution
stack.
push
(i);
}return res;
}}
單調棧(monotone-stack)是指棧內元素(棧底到棧頂)都是(嚴格)單調遞增或者單調遞減的。
如果有新的元素入棧,棧調整過程中 會將所有破壞單調性的棧頂元素出棧,並且出棧的元素不會再次入棧 。由於每個元素只有一次入棧和出棧的操作,所以 單調棧的維護時間複雜度是o(n) 。
單調棧性質:
單調棧裡的元素具有單調性。
遞增(減)棧中可以找到元素左右兩側比自身小(大)的第乙個元素。
我們主要使用第二條性質,該性質主要體現在棧調整過程中,下面以遞增棧為例(假設所有元素都是唯一),當新元素入棧。
單調棧 739 每日溫度
請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 ...
739 每日溫度 遞減棧
根據每日氣溫列表,請重新生成乙個列表,對應位置的輸入是你需要再等待多久溫度才會公升高的天數。如果之後都不會公升高,請輸入0來代替。例如,給定乙個列表temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 氣溫列表長度的範圍是 1,30...
單調棧 每日溫度
題目 根據每日 氣溫 列表,請重新生成乙個列表,對應位置的輸出是需要再等待多久溫度才會公升高超過該日的天數。如果之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 思...