Daily Temperatures
- 1 min read
- Array
- Stack
- LC-Medium
- NeetCode150
- Sliding Window
Approach
- Monotonic decreasing stack
- Do a dry run to understand how the conditions work
def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
s = [0]
ans = [0] * len(temperatures)
for i in range(1, len(temperatures)):
while s and temperatures[s[-1]] < temperatures[i]:
ans[s[-1]] = i - s[-1]
s.pop()
s.append(i)
return ans