class Solution {
public:
//从后往前的方法
vector<int> dailyTemperatures(vector<int>& temperatures) {
int n = temperatures.size();
vector<int> ans(n);//创建一个大小为n的数组
stack<int> st;//这个时候栈中没有任何元素
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);//我们push进去的是数组的下标 而不是数组的值
}
return ans;
}
};
//我们随机一组数字
// [73,74,75,71,69,72,76,73]
// 73
//我们随机一组数字
练习:
每日温度
class Solution {
public:
//从后往前的方法
vector<int> dailyTemperatures(vector<int>& temperatures) {
int n = temperatures.size();
vector<int> ans(n);//创建一个大小为n的数组
stack<int> st;//这个时候栈中没有任何元素
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.push(i);//我们push进去的是数组的下标 而不是数组的值
}
return ans;
}
};
//我们随机一组数字