[LeetCode]739. 每日温度
题目
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. 每日温度相关推荐
- 184、【栈与队列】leetcode ——739. 每日温度(C++版本)
题目描述 参考文章:739. 每日温度 解题思路 (1)暴力法 每次遍历到一个数时,就再开辟一个变量找此数后面第一个大于它的数,找到则添加,没找到则返回0. class Solution {publi ...
- 2020-06-11 LeetCode 739 每日温度 C++
题目:739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 t ...
- leetcode 739. 每日温度 单调栈解法和暴力法及其优化 c代码
如题: 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高, 请在该位置用 0 来代替.例如,给定一个列表 temperature ...
- LeetCode 739. 每日温度(单调栈)
1. 题目 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temperatu ...
- leetcode - 739. 每日温度
根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表temperatures=[73 ...
- Leetcode 739. 每日温度 (每日一题 20211014)
请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度.如果气温在这之后都不会升高,请在该位置用 0 来代替.示例 1:输入: temperatures = [7 ...
- 【LeetCode】【HOT】739. 每日温度(栈)
[LeetCode][HOT]739. 每日温度 文章目录 [LeetCode][HOT]739. 每日温度 package hot;import java.util.ArrayDeque; impo ...
- leetcode 栈739. 每日温度
739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数.如果之后都不会升高,请输入 0 来代替.例如,给定一个列表 temperatures ...
- 力扣739. 每日温度
739. 每日温度 - 力扣(LeetCode) (leetcode-cn.com) 暴力 class Solution {public int[] dailyTemperatures(int[] t ...
- 739. 每日温度 golang
739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temper ...
最新文章
- protobuf string类型_Protobuf3 使用其他消息类型
- python实现蜘蛛功能批量下载手机壁纸
- 爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战
- 关于Kafka中的再均衡
- 【clickhouse】Error querying database. No buffer space available (maximum connections reached?): conne
- java 分级显示_上级部门与下级部门的分类显示
- AB=C型向量分解思路思考
- 好用的文件对比工具Beyond Compare 4 for Mac 4.4.2
- SpringBoot中静态资源配置
- Android面试题(一)
- pytorch RuntimeError: size mismatch, m1: [16 x 86016], m2: [25088 x 512] at /opt/conda/conda-bld/pyt
- 论学习计划的 重要性
- 迪进面向ConnectCore系统模块推出Digi ConnectCore语音控制软件
- 云计算day02-KVM
- Win10/Win11下图片扩展安装 HEVC/HEIF/CR2等
- 如何从初级程序员到中级程序
- mysql 小版本直接升级
- Vant Tab标签页+下拉刷新+上拉加载
- K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停
- 一、elastic-job、elastic-job-lite-console使用案例
热门文章
- quartz 表结构 mysql_Quartz表结构说明
- 96PIN直插DIP千兆四口网络变压器 千兆交换机路由器网络滤波器
- 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
- 可能的克服拖延症的方法
- win7系统备份还原软件_十分不错的系统还原工具 一键还原备份系统软件 一键还原备份SGIMINI4.0通用版本...
- 最新版本的mmdetection2.0 (v2.0.0版本)环境搭建、训练自己的数据集、测试以及常见错误集合
- 美国卡内基梅隆大学计算机排名,卡内基梅隆大学世界排名
- C语言4位BCD码加法器,四位二进制BCD码加法器.doc
- Scala折叠(fold)
- RN5T5611用于车载品的可编程电源管理IC