InterviewHubPRO
Section Overview
Q32

Question 32 of 100

Part 4: Stacks, Queues & Monotonic Stacks (29 - 36)

32%
DSA Patterns (Multi-Lang)•Part 4: Stacks, Queues & Monotonic Stacks (29 - 36)

Daily Temperatures.

In Simple Words: Monotonic Decreasing Stack storing indices. When today's temperature exceeds temperatures[stack.top], pop and record distance: res[prevIdx] = i - prevIdx.

  • Time: $O(N)$ | Space: $O(N)$
Multi-Language Solutions
Switch tabs or choose All
def dailyTemperatures(temperatures: list[int]) -> list[int]:
    res = [0] * len(temperatures)
    stack = []  # stores indices
    for i, t in enumerate(temperatures):
        while stack and t > temperatures[stack[-1]]:
            prev = stack.pop()
            res[prev] = i - prev
        stack.append(i)
    return res