文章目录
题意
思路
单调栈
代码
C++
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
vector<int> ans(temperatures.size(), 0);
stack<int> s;
for (int i = 0; i < temperatures.size(); i++) {
const int x = temperatures[i];
while (!s.empty() && temperatures[s.top()] < x) {
ans[s.top()] = i - s.top();
s.pop();
}
s.push(i);
}
return ans;
}
};