2023每日刷题(四十二)
Leetcode—739.每日温度
单调栈实现思想
从右到左实现代码
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
int n = temperatures.size();
stack<int> st;
vector<int> ans(n, 0);
for(int i = n - 1; i >= 0; i--) {
int t = temperatures[i];
while(!st.empty() && t >= temperatures[st.top()]) {
st.pop();
}
if(!st.empty()) {
ans[i] = st.top() - i;
}
st.push(i);
}
return ans;
}
};
运行结果
从左到右实现代码
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
int n = temperatures.size();
stack<int> st;
vector<int> ans(n, 0);
for(int i = 0; i < n; i++) {
int t = temperatures[i];
while(!st.empty() && t > temperatures[st.top()]) {
int j = st.top();
st.pop();
ans[j] = i - j;
}
st.push(i);
}
return ans;
}
};
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!