739 每日溫度 單調棧

2021-10-07 03:58:00 字數 616 閱讀 5736

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 思...