leetcode 739 每日溫度

2022-09-29 15:30:21 字數 973 閱讀 6301

給定乙個整數陣列 temperatures ,表示每天的溫度,返回乙個陣列 answer ,其中 answer[i] 是指在第 i 天之後,才會有更高的溫度。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。

示例 1:

輸入: temperatures = [73,74,75,71,69,72,76,73]

輸出: [1,1,4,2,1,1,0,0]

1/**

2temperatures = [71,72,73,71]34

單調棧 , 單調遞減棧 ,存入陣列下標5*/

6int* dailytemperatures(int* temperatures, int temperaturessize, int*returnsize)

11int *res =(int *)malloc(sizeof(int) * (temperaturessize + 1

));12 memset(res, 0, sizeof(int) * (temperaturessize + 1

));13

14int *stack =(int *)malloc(sizeof(int) * (temperaturessize + 1

));15 memset(stack, 0, sizeof(int) * (temperaturessize + 1

));16

17int top = 0;18

19for(int i = 0; i < temperaturessize; i++)

24 stack[top] =i;

25 top++;26}

27while(top > 0)31

return

res;

32 }

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