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;
    }
}
相关推荐
smj2302_796826528 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
炽烈小老头9 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
叁散10 小时前
实验报告:5G 仿真环境与基本链路模拟
算法
从负无穷开始的三次元代码生活10 小时前
算法零碎灵感点分享
算法
染指111010 小时前
9.LangChain框架(实现RAG)
数据库·人工智能·算法·机器学习·ai·大模型
大数据三康10 小时前
在spyder进行的遗传算法练习
开发语言·python·算法
Gene_202211 小时前
轮式底盘的微分平坦
算法
吴佳浩11 小时前
现代多模态大模型的核心基础:Unified Self-Attention
人工智能·算法·llm
小小编程路12 小时前
C++ 常用逻辑运算符
开发语言·c++·算法
Hali_Botebie12 小时前
两种子词分词算法BPE (Byte-Pair Encoding) 和Unigram 区别
人工智能·算法