LeetCode、739. 每日温度【中等,单调栈】

文章目录

  • 前言
  • LeetCode、739. 每日温度【中等,单调栈】
    • 题目链接及分类
    • 思路
      • 单调栈
  • 资料获取

前言

博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。

涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。

博主所有博客文件目录索引:博客目录索引(持续更新)

视频平台:b站-Coder长路


LeetCode、739. 每日温度【中等,单调栈】

题目链接及分类

题目链接:LeetCode、739. 每日温度

分类:数据结构/栈/单调栈


思路

单调栈

思路:单调栈一般用来解决 next greater element 问题(求一侧最近的更大/小的元素),单调栈也是“空间换时间”思想的一个实际应用。

  • 本题是找到对比当前温度的最近温度高的元素。此时就是对应着使用单调栈来进行处理,对于找到最近高温度的都是对出栈的元素处理的。

复杂度分析:时间复杂度O(n);空间复杂度O(n)

class Solution {//10万温度//单调栈  当前元素与栈顶元素比较 将符合条件的温度出栈此时就可以找到该温度后最近的比它高的温度public int[] dailyTemperatures(int[] temperatures) {int n = temperatures.length;//单调栈Stack<Integer> stack = new Stack<>();//结果集int[] res = new int[n];//遍历所有的温度for (int i = 0; i < n; i ++) {//取得当前的温度与栈中温度比较 弹出的温度即可确定最近的温度是哪个while (!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]) {int index = stack.pop();//索引位置res[index] = i - index;//后几天}//将当前的温度索引入栈stack.push(i);}return res;}
}

image-20240213152622663


资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

  • 长路-文章目录汇总(算法、后端Java、前端、运维技术导航):博主所有博客导航索引汇总
  • 开源项目Studio-Vue—校园工作室管理系统(含前后台,SpringBoot+Vue):博主个人独立项目,包含详细部署上线视频,已开源
  • 学习与生活-专栏:可以了解博主的学习历程
  • 算法专栏:算法收录

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅


整理者:长路 时间:2024.2.13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468963.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

labelImg和labelme区别

LabelImg和LabelMe是两种常用的标注工具&#xff0c;用于创建标注数据集以供机器学习和计算机视觉任务使用。虽然它们都具有相似的目标&#xff0c;即方便用户进行图像标注&#xff0c;但在某些方面存在一些区别。下面将介绍LabelImg和LabelMe的区别及联系&#xff0c;同时提供…

Java实现中学生家校互联系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生管理模块2.2 课堂表现模块2.3 考试成绩模块2.4 家校留言模块2.5 校园通知模块 三、系统设计3.1 用例设计3.2 实体类设计3.2.1 课堂表现实体类设计3.2.2 考试成绩实体类设计3.2.3 家校留言实体类设计3.2.4 校园通知实…

MySQL数据库应用实验报告——实验2 表数据插入、修改和删除

实验2 表数据插入、修改和删除 目的要求&#xff1a; &#xff08;1&#xff09;学会在控制台中对数据库表进行插入、修改和删除数据操作 &#xff08;2)了解各种数据类型的取值范围 &#xff08;3&#xff09;理解数据完整性约束的作用 &#xff08;4&#xff09;了解SQL语…

Screw自动生成数据库文档

Screw简介 官方地址 Screw可以根据数据库中的表自动生成HTML、Word、Markdown格式的文档。 Springboot 3.1集成 生成Springboot项目 Spring Initializr Maven依赖 <dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</…

六、Redis之数据持久化及高频面试题

6.1 数据持久化 官网文档地址&#xff1a;https://redis.io/docs/manual/persistence/ Redis提供了主要提供了 2 种不同形式的持久化方式&#xff1a; RDB&#xff08;Redis数据库&#xff09;&#xff1a;RDB 持久性以指定的时间间隔执行数据集的时间点快照。AOF&#xff0…

有限合伙协议书(模板)下

第六章 合伙事务的执行 第十七条 有限合伙人不执行合伙事务&#xff0c;对外不具有代表权。有限合伙企业由普通合伙人执行合伙事务。 第十八条 经全体合伙人一致同意可以委托一个普通合伙人&#xff08;也可以委托数个普通合伙人&#xff09;对外代表合伙企业&#xff0c;执…

华为机考入门python3--(14)牛客14-字符串排序

分类&#xff1a;列表、排序 知识点&#xff1a; 字典序排序 sorted(my_list) 题目来自【牛客】 def sort_strings_by_lex_order(strings): # 使用内置的sorted函数进行排序&#xff0c;默认是按照字典序排序 sorted_strings sorted(strings) # 返回排序后的字符串列…

Leetcode 236.二叉树的最近公共祖先

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以是它自己的…

原子变量和原子操作

一、什么是原子操作 通常某一个变量的操作对应的CPU指令是大于一个的&#xff0c;在多线程环境下&#xff0c;为了确保对共享变量的操作在执行时不会被干扰&#xff0c;从而避免竞态条件和死锁等问题&#xff0c;使用原子变量。 原子变量可以看作是一种特殊的类型&#xff0c…

C++ 动态规划 计数类DP 整数划分

一个正整数 n 可以表示成若干个正整数之和&#xff0c;形如&#xff1a;nn1n2…nk &#xff0c;其中 n1≥n2≥…≥nk,k≥1 。 我们将这样的一种表示称为正整数 n 的一种划分。 现在给定一个正整数 n &#xff0c;请你求出 n 共有多少种不同的划分方法。 输入格式 共一行&…

Linux入门(1)Linux介绍

目录 1. 认识 Linux, 了解 Linux 的相关背景 1.发展史 2. 学会如何使用云服务器 3. 掌握使用远程终端工具 xshell 登陆 Linux 服务器 1. 认识 Linux, 了解 Linux 的相关背景 1.发展史 学习Linux系统编程&#xff0c;你可能要问Linux从哪里来&#xff1f;它是怎么发展的&am…

小游戏和GUI编程(7) | SimpleNN 界面源码解析

小游戏和GUI编程(7) | SimpleNN 界面源码解析 0. 简介 SimpleNN 是 AdamYuan 在高中一年级时用 1 天时间写出来的简易 CNN, 使用 SFML 做 UI, 用于交互式输入手写数字&#xff0c;这个数字被训练好的 CNN 网络执行推理得到识别结果, 它的运行效果如下&#xff1a; 这一篇我们…