leetcode 739每日溫度動態規劃

2021-10-07 02:36:18 字數 509 閱讀 9852

題目要求:vector中某一元素到該元素後比它大的元素的距離。(有些繞就是順序查詢比他大並且離它最近的元素)很自然的想到用動態規劃

思路:在暴力解法中如果想要從後向前遍歷到一位置,再從目標位置向後找比它大的元素,是會乙個乙個比較的直至找到比他大的,動態規劃就是使用備忘錄,記錄以往遍歷過的元素離它最近的大於它的元素的距離。這個備忘錄就是題目的解。

設定乙個備忘錄也就是最終的結果,預置大小初始化為0

i從倒數第二個位置開始向上遞增,j每次迴圈初始化為i+1

第一次迴圈對應的是倒數第二個與倒數第乙個的比較,此處利用初始化為0隱含了倒數第乙個天的氣溫不會再有比他大的了,所以直接從倒數第二個開始比較。(區別於其他的動態規劃題目需要的備忘錄大小size+1)

當遇到t[i]最終輸出備忘錄即結果

class solution 

else

else}}

}return res;

}};

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