LeetCode 739. 每日温度

解题思路

单调栈的经典题型。

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

相关代码

复制代码
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;
    }
}
相关推荐
夏幻灵18 分钟前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南19 分钟前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
Navigator_Z33 分钟前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
码爸1 小时前
决策树介绍与示例
python·算法·机器学习
动词ing1 小时前
【题目练习】字符串相乘
算法
0+1112 小时前
算法 --链表
数据结构·算法·leetcode·链表
aqiu1111112 小时前
【C++算法打怪专栏】C++ `unordered_set` 常用初始化与插入方法总结
开发语言·c++·算法
Terra.K2 小时前
高精度阶乘求和模板深度解析
开发语言·c++·算法
Peregrine93 小时前
C++ - > 类和对象
java·c++·算法
Gigavision4 小时前
DEAP数据集 2026最新Transformer算法 DEAP 数据集 下载
深度学习·算法·transformer