Stacks & Queues

Concept Lab
Python Execution SynchronizerActive Line: 1
1
def daily_temperatures(temperatures):
2
    n = len(temperatures)
3
    answer = [0] * n
4
    stack = []  # indices of temperatures
5
    
6
    for curr_idx in range(n):
7
        curr_temp = temperatures[curr_idx]
8
        while stack and temperatures[stack[-1]] < curr_temp:
9
            prev_idx = stack.pop()
10
            answer[prev_idx] = curr_idx - prev_idx
11
        stack.append(curr_idx)
12
        
13
    return answer
No execution event recorded.
Custom Input:
Loading trace state...
Step 0 / 0