739. 每日温度
典型的单调栈问题,从右边遍历枚举维护单调栈即可。
答案存到数组ant中,
当前位置温度比栈顶大就栈顶--,退出循环再栈顶加入当前温度。
cpp
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
const int N=temperatures.size();
int stk[N+2];int tt=0;
vector<int> ant(N);
for(int i=N-1;i>=0;i--)
{
while(tt && temperatures[i]>=temperatures[stk[tt]])tt--;
stk[++tt]=i;
if(tt>1) ant[i]=stk[tt-1]-i;
}
return ant;
}
};