题目

739. 每日温度

739. 每日温度
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]
示例 2:输入: temperatures = [30,40,50,60]
输出: [1,1,1,0]
示例 3:输入: temperatures = [30,60,90]
输出: [1,1,0]提示:1 <= temperatures.length <= 105
30 <= temperatures[i] <= 100

解法

方法1:Stack

public int[] dailyTemperatures(int[] T) {int n = T.length;int[] res = new int[n];//存的下标索引Stack<Integer> stk = new Stack<>();for (int i = 0; i < n; i++) {//弹栈 while循环, 如果栈顶的温度比当前的温度小,这个当前的温度是满足题意的首次出现的最高温度while (!stk.isEmpty() && T[stk.peek()] < T[i]) {int idx = stk.pop();//之前的那个索引res[idx] = i - idx;//间隔的天数}stk.push(i);//入栈}return res;
}

方法2:Deque

  • 详细参考基础与技巧
        public int[] dailyTemperatures(int[] T) {int n = T.length;int[] res = new int[n];//存的下标索引Deque<Integer> stk = new ArrayDeque<>();for (int i = 0; i < n; i++) {//弹栈 while循环, 如果栈顶的温度比当前的温度小,这个当前的温度是满足题意的首次出现的最高温度while (!stk.isEmpty() && T[stk.peekFirst()] < T[i]) {int idx = stk.pollFirst();//之前的那个索引res[idx] = i - idx;//间隔的天数}stk.addFirst(i);//入栈}return res;}

[LeetCode]739. 每日温度相关推荐

  1. 184、【栈与队列】leetcode ——739. 每日温度(C++版本)

    题目描述 参考文章:739. 每日温度 解题思路 (1)暴力法 每次遍历到一个数时,就再开辟一个变量找此数后面第一个大于它的数,找到则添加,没找到则返回0. class Solution {publi ...

  2. 2020-06-11 LeetCode 739 每日温度 C++

    题目:739. 每日温度  根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替.  例如,给定一个列表 t ...

  3. leetcode 739. 每日温度 单调栈解法和暴力法及其优化 c代码

    如题: 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高, 请在该位置用 0 来代替.例如,给定一个列表 temperature ...

  4. LeetCode 739. 每日温度(单调栈)

    1. 题目 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temperatu ...

  5. leetcode - 739. 每日温度

    根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表temperatures=[73 ...

  6. Leetcode 739. 每日温度 (每日一题 20211014)

    请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度.如果气温在这之后都不会升高,请在该位置用 0 来代替.示例 1:输入: temperatures = [7 ...

  7. 【LeetCode】【HOT】739. 每日温度(栈)

    [LeetCode][HOT]739. 每日温度 文章目录 [LeetCode][HOT]739. 每日温度 package hot;import java.util.ArrayDeque; impo ...

  8. leetcode 栈739. 每日温度

    739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数.如果之后都不会升高,请输入 0 来代替.例如,给定一个列表 temperatures ...

  9. 力扣739. 每日温度

    739. 每日温度 - 力扣(LeetCode) (leetcode-cn.com) 暴力 class Solution {public int[] dailyTemperatures(int[] t ...

  10. 739. 每日温度 golang

    739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temper ...

最新文章

  1. protobuf string类型_Protobuf3 使用其他消息类型
  2. python实现蜘蛛功能批量下载手机壁纸
  3. 爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战
  4. 关于Kafka中的再均衡
  5. 【clickhouse】Error querying database. No buffer space available (maximum connections reached?): conne
  6. java 分级显示_上级部门与下级部门的分类显示
  7. AB=C型向量分解思路思考
  8. 好用的文件对比工具Beyond Compare 4 for Mac 4.4.2
  9. SpringBoot中静态资源配置
  10. Android面试题(一)
  11. pytorch RuntimeError: size mismatch, m1: [16 x 86016], m2: [25088 x 512] at /opt/conda/conda-bld/pyt
  12. 论学习计划的 重要性
  13. 迪进面向ConnectCore系统模块推出Digi ConnectCore语音控制软件
  14. 云计算day02-KVM
  15. Win10/Win11下图片扩展安装 HEVC/HEIF/CR2等
  16. 如何从初级程序员到中级程序
  17. mysql 小版本直接升级
  18. Vant Tab标签页+下拉刷新+上拉加载
  19. K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停
  20. 一、elastic-job、elastic-job-lite-console使用案例

热门文章

  1. quartz 表结构 mysql_Quartz表结构说明
  2. 96PIN直插DIP千兆四口网络变压器 千兆交换机路由器网络滤波器
  3. 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
  4. 可能的克服拖延症的方法
  5. win7系统备份还原软件_十分不错的系统还原工具 一键还原备份系统软件 一键还原备份SGIMINI4.0通用版本...
  6. 最新版本的mmdetection2.0 (v2.0.0版本)环境搭建、训练自己的数据集、测试以及常见错误集合
  7. 美国卡内基梅隆大学计算机排名,卡内基梅隆大学世界排名
  8. C语言4位BCD码加法器,四位二进制BCD码加法器.doc
  9. Scala折叠(fold)
  10. RN5T5611用于车载品的可编程电源管理IC