给一个vector,里面存的是温度,需要最少隔多少天才能到更暖和的一天
核心:单调栈
代码:
#include <iostream>
#include<stack>
using namespace std;
int main()
{
vector<int> T = {73,74,75,71,69,76};
vector<int> res(T.size());
stack<int> s;
for(int i=T.size()-1;i>=0;i--){
while(!s.empty()&&T[s.top()]<=T[i]) s.pop();
res[i]=s.empty()?0:(s.top()-i);
s.push(i);
}
for(int i=0;i<res.size();i++){
cout<<res[i];
}
}