LeetCode 739. 每日温度

OJ链接: 739. 每日温度

示例代码:

复制代码
class Solution {
    public int[] dailyTemperatures(int[] temperatures) {
            int length =  temperatures.length;
    //数组存储下标记录
            int[] ans = new int[length];
            Stack<Integer> stack = new Stack<>();

            for(int i =0 ; i<length ;i++){
    //遍历每个温度
                int temp = temperatures[i]; 
           //当栈不为空 且 当前温度大于栈顶温度
                while( !stack.empty() && temp > temperatures[stack.peek()]){
    //出栈 ,并记录下标
                   int perv = stack.pop();
                    ans[perv] = i - perv;
                }
                stack.push(i);
            }
            return ans;
    }
}
相关推荐
蚰蜒螟9 分钟前
从 Java SocketChannel 到 TCP 挥手:一次 close() 的完整调用链与引用计数解析
java·python·tcp/ip
damoluomu12 分钟前
国产 Java CMS 的协议和坑,讲清楚
java·开发语言
Wang's Blog19 分钟前
Java 项目实战: 交友项目 - 黑名单:分页查询黑名单
java·开发语言·交友
蚰蜒螟23 分钟前
从 Java write 到磁盘扇区:一次写入操作的完整内核穿越之旅
java·开发语言
u01110267534 分钟前
图片生成任务的日志记录与敏感信息取舍
前端·图像处理·算法·ai作画
en.en..35 分钟前
volatile 关键字整理(嵌入式 C 标准)
java·开发语言
captain37639 分钟前
Spring IoC和DI(2)
java·后端·spring
Shaoshing42 分钟前
高可用与核心概念
java·mq
花间相见1 小时前
【计算基础|MySQL08】索引(上):为什么是 B+ 树
数据结构·mysql·算法·架构