思路
“下一个更大”问题,使用单调栈进行解答
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& T) {
stack<int> s;
vector<int> res(T.size());
for (int i = 0; i< T.size(); i++) {
while (!s.empty() && T[i] > T[s.top()]) {
int former = s.top();
res[former] = i - former;
s.pop();
}
s.push(i);
}
return res;
}
};