【力扣hot100题】(071)每日温度

经典单调栈问题。

感觉自己对这类问题还是不太熟练,想了很久思路,还想了很久是单调递增栈还是单调递减栈......

方法是维护一个单调递减栈。先将结果result初始化为0,如果温度一直递减,那么result就不用变化了。

遍历每日温度,如果温度比栈首温度高,那么往回遍历直到温度比栈首温度底,遍历的日期结果设为当前日期和遍历日期之差,遍历完的日期弹出。

cpp 复制代码
class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        vector<int> result(temperatures.size(),0);
        stack<int> down;
        for(int i=0;i<temperatures.size();i++){
            while(!down.empty()&&temperatures[down.top()]<temperatures[i]){
                result[down.top()]=i-down.top();
                down.pop();
            }
            down.push(i);
        }
        return result;
    }
};
相关推荐
呈_现2 分钟前
洛谷方格取数
算法
小徐Chao努力10 分钟前
【解析】ReentrantLock锁、Syschronized锁面试点解析
java·面试·职场和发展·synchronized·
Dominic_Holmes10 分钟前
代码随想录算法训练营Day30 | 01背包问题(卡码网46. 携带研究材料)、Leetcode416.分割等和子集
数据结构·python·算法·leetcode
SuperW14 分钟前
蓝桥杯嵌入式十五届模拟三(串口、双ADC)
单片机·职场和发展·蓝桥杯
越城16 分钟前
冒泡与 qsort 排序策略集
c语言·开发语言·算法·排序算法
征途菜哥31 分钟前
毛笔书体检测-hog+svm python opencv源码
算法·机器学习·支持向量机
大胆飞猪37 分钟前
dfs二叉树中的深搜(回溯、剪枝)--力扣129、814、230、257
算法·leetcode·深度优先·dfs
我不会JAVA!43 分钟前
C++ 实现A*算法
c++·算法
一叶祇秋1 小时前
Leetcode - 双周赛135
算法·leetcode·职场和发展
小王努力学编程1 小时前
贪心算法学习C++
开发语言·c++·学习·算法·leetcode·贪心算法