LeetCode 739. 每日温度

解题思路

单调栈的经典题型。

我们需要找到temperatures[i]的右边最近的小于temperatures[i]的值,所以就想到了单调栈。

相关代码

复制代码
class Solution {
    public int[] dailyTemperatures(int[] temperatures) {
        Stack<Integer> stack = new Stack<>();
        int res[] = new int[temperatures.length];
        int n = temperatures.length;
        for(int i=n-1;i>=0;i--){
            //进行筛选
            while(stack.isEmpty()==false&&temperatures[i]>=temperatures[stack.peek()]) stack.pop();
            if(stack.isEmpty()==true) res[i]=0;
            else res[i]=Math.abs(stack.peek()-i);
            stack.push(i);
        }
        return res;
    }
}
相关推荐
醒过来摸鱼11 分钟前
9.11 傅里叶变换家族介绍
线性代数·算法·概率论
是苏浙36 分钟前
2025年11月17日力扣刷题小记
算法·刷题
@卞43 分钟前
ST 表相关练习题
数据结构·c++·算法
醒过来摸鱼1 小时前
9.8 贝塞尔曲线
线性代数·算法·numpy
2501_941111521 小时前
C++中的适配器模式
开发语言·c++·算法
2501_941111941 小时前
C++中的适配器模式变体
开发语言·c++·算法
旋转的马铃薯干2 小时前
bulk RNA-Seq(7)差异表达分析可视化
算法
旋转的马铃薯干2 小时前
bulk RNA-Seq(8)富集分析
算法
2501_941111772 小时前
C++代码移植性设计
开发语言·c++·算法
致Great2 小时前
RAG在医疗领域的批判性评估、推荐算法等最新研究进展
算法·机器学习·推荐算法