Given an array of integers temperatures representing daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the i-th day to get a warmer temperature. If there is no future day with a warmer temperature, keep answer[i] == 0.
temperatures = [73,74,75,71,69,72,76,73][1,1,4,2,1,1,0,0]temperatures = [30,40,50,60][1,1,1,0]temperatures = [30,60,90][1,1,0]ans[0..n-1] = 0, empty stack (stores indices)i: while stack not empty and temps[i] > temps[stack.top]idx from stack; set ans[idx] = i − idx (days to wait)i onto stack (unresolved day)ans stays 0We maintain a stack of indices whose temperatures are in decreasing order. When we encounter a warmer day i, any stacked index j with temps[j] < temps[i] has found its answer: ans[j] = i − j. Each index is pushed and popped at most once, giving O(n) overall.