My code

1
2
3
4
5
6
7
8
9
10
11
12
13
from collections import deque,List
class Solution:
    def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
        self.answer = [0] * len(temperatures)
        self.queue = []
        for cur_day,cur_temp in enumerate(temperatures):
            while self.queue and self.queue[-1][1] < cur_temp:
                prev_day,_ = self.queue.pop()
                self.answer[prev_day] = cur_day - prev_day
            self.queue.append((cur_day,cur_temp))
        return self.answer