当前位置: 首页 > news >正文

代码随想录训练营Day59单调栈Part01|739. 每日温度|496.下一个更大元素①

单调栈

  • 单调栈应用场景:找当前元素左边/右边比当前元素大/小的第一个元素
  • 什么是单调栈:保证栈里面的元素递增/递减(需要自己定义)
  • 栈内保存什么:存入下标
  • 如何比较大小:栈和数组做映射
  • 递增?递减?:取决于应用场景
    • :求当前元素左边/右边比他的第一个元素
    • :求当前元素左边/右边比他的第一个元素
  • 单调栈的作用:记录存放遍历过的元素,存放的同时进行排序

739. 每日温度

  • 不需要倒序遍历,正序遍历,存入
  • 注意栈内存入的是元素下标而不是元素的值
  • 当前元素比栈口大,则弹出栈口元素,记录该元素结果;循环该过程直到栈为空
  • 当前元素比栈口小,则压入元素,不记录
  • 最后遍历结束,但是栈内的元素没有找到比其更大的,则赋零

496.下一个更大元素①

  • 可以在上一题的基础上做

  • 对于两个没有重复元素的数组(一个为另一个子集),可以用map来做映射

  • unordered_map<int, int> umap;  //key,下标元素;value,下标
    for(int i = 0; i<nums1.size(); i++) umap[nums1[i]] = i;//使用
    if(umap.count(nums2[st.top()]) > 0){   //查看map中是否存在这个元素int index = umap[nums2[st.top()]]; //查询该元素对应的下标result[index] = nums2[i];
    }
    

http://www.lryc.cn/news/107994.html

相关文章:

  • RPMsg-Lite上手
  • 基于YOLOv8 的 多边形区域内目标检测,跟踪,计数
  • STSP中用于记录节点和旅行回路的四种数据结构
  • 【Spring】AOP切点表达式
  • 设计模式再探——代理模式
  • MySQL日志——查询日志
  • Java版本工程行业管理系统源码-专业的工程管理软件-提供一站式服务 em
  • pytorch的CrossEntropyLoss交叉熵损失函数默认是平均值
  • 【力扣】206. 反转链表 <链表指针>
  • Java包装类(自动拆装箱)
  • 使用Golang反射技术实现一套有默认值的配置解析库
  • 数据安全能力框架模型-详细解读(二)
  • 【BASH】回顾与知识点梳理(八)
  • rust报错“Utf8Error { valid_up_to: 1, error_len: Some(1) } }”
  • 【Linux】节点之间配置免密登录
  • 【13】STM32·HAL库-正点原子SYSTEM文件夹 | SysTick工作原理、寄存器介绍 | printf函数使用、重定向
  • ansible配置文件案例
  • 【大数据】Flink 从入门到实践(一):初步介绍
  • 大数据课程F4——HIve的其他操作
  • React Native详解和代码实例
  • CAD随机球体颗粒过渡区3D插件
  • 【项目 进程12】2.25 sigprocmask函数使用 2.26sigaction信号捕捉函数 2.27SIGCHILD信号
  • 【无标题】面试题 02.07. 链表相交
  • Zotero ubuntu2023安装 关联 ubuntu文献翻译
  • Stable Diffusion教程(7) - PS安装AI绘画插件教程
  • 如何学技术
  • 【云存储】使用OSS快速搭建个人网盘教程(阿里云)
  • 微信小程序iconfont真机渲染失败
  • 万界星空/推出生产制造执行MES系统/开源MES/免费下载
  • 【VxWorks】Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点