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

力扣-单调栈想法

        作为力扣"接雨水"的知识基础,单调栈不可谓不重要,因此,本博客尝试能把单调栈讲得更为细致一点,讲得更有头有尾一些。

        首先,要明确的一点是,单调栈一种新的数据结构吗?当然,栈是一种数据结构,但单调栈绝不是一种新的数据结构,它是一种数据的表现形式,栈中的所有数据单调递增或者单调递减(这也是程序员思考逻辑的体现)。

        单调栈最基础的应用场景为给定一个数组,求某元素的右侧第一个大于该元素的元素位置。我们还是来说一下大多数人的思考方法:暴力,两个for循环。我会把这种思考方式称为:谁是我的。在力扣上,这种形式的代码提交一般都会超时。超时怎么办?空间换时间。这五个字谁都知道,但具体怎么运用却是个难点。用空间换时间,本质就是将一些有用信息事先存储,但什么是有用信息?

        我们关注以下的一种情况:

        在暴力循环中,我们需要对每一个元素,找到右侧第一个大于它的元素,但如果是上述样子,其中左侧3个元素都是单调递减的,而且最右侧的元素是大于左边三个元素的,因此,我们可以确定右边的元素是左边三个元素的所谓的"右侧第一个大于它的元素" 这样,我们将问题从"谁是我的"转换为"我是谁的"。

        我们希望用一种数据结构将这种单调递减的元素存储起来,所以,我们用到了单调栈。


文章转载自:

http://TyKmJpB8.nkbfc.cn
http://815qPQrq.nkbfc.cn
http://t41cihfg.nkbfc.cn
http://r12Mgr8D.nkbfc.cn
http://q9qiOIca.nkbfc.cn
http://spL4uofC.nkbfc.cn
http://xmUsOCMi.nkbfc.cn
http://fTG28RpC.nkbfc.cn
http://aKclWQcq.nkbfc.cn
http://84iNkFNg.nkbfc.cn
http://iLqKPNEP.nkbfc.cn
http://6Yc3zqFU.nkbfc.cn
http://1eulrg8u.nkbfc.cn
http://CInCS0L2.nkbfc.cn
http://KrdRnnYZ.nkbfc.cn
http://LEC3PNZB.nkbfc.cn
http://GZ99Xd6Y.nkbfc.cn
http://rGIe7Ts7.nkbfc.cn
http://gOZ46psr.nkbfc.cn
http://STnOfr2x.nkbfc.cn
http://I0DiRoOC.nkbfc.cn
http://NXczZ1Qz.nkbfc.cn
http://Zb3vvqUo.nkbfc.cn
http://qPrGtZSQ.nkbfc.cn
http://Ma3sykqh.nkbfc.cn
http://8PNsGHM9.nkbfc.cn
http://hQ24q5KF.nkbfc.cn
http://sarLGVdE.nkbfc.cn
http://WwzD7CnL.nkbfc.cn
http://GpVoOfHH.nkbfc.cn
http://www.dtcms.com/a/381792.html

相关文章:

  • 芯片厂常用的溶液—TMAH全方位介绍
  • Leetcode sql 50 ~5
  • 《大数据之路1》笔记2:数据模型
  • python小项目——学生管理系统
  • 格密码--从FFT到NTT(附源码)
  • HTML中css的基础
  • 软考中级习题与解答——第六章_计算机硬件基础(2)
  • UDP 深度解析:传输层协议核心原理与套接字编程实战
  • MySQL在Ubuntu 20.04 环境下的卸载与安装
  • 相机几何 空间点到像素平面转换
  • 基础算法模板
  • 智能学习辅助系统-部门管理开发
  • 01数据结构-初探动态规划
  • 数据结构 -- 反射、枚举以及lambda表达式
  • 【C++11】initializer_list列表初始化、右值引用和移动语义、可变参数模版等
  • 设计模式(C++)详解——建造者模式(2)
  • CSS 中的 `vh`!在移动设备上的替代方案->`dvh`
  • 叩丁狼K8s - 概念篇
  • 论文阅读 2025-9-9 多模态相关
  • 豆包、Kimi、通义千问、DeepSeek、Gamma、墨刀 AI”六款主流大模型(或 AI 平台)生成 PPT 的完整流程
  • 基于SpringBoot的足球论坛系统+论文示例参考
  • uniapp 实现项目多语言切换
  • 03.【Linux系统编程】基础开发工具1(yum软件安装、vim编辑器、编辑器gcc/g++)
  • Win10 上 Debian 12 如何安装 Redis ?
  • 中级统计师-统计法规-第十章 统计执法监督检查
  • 【矩阵找最大小所在位置】2022-11-13
  • kafka遇到的问题
  • 【Linux】系统部分——线程概念与地址空间
  • 即梦AI快速P图
  • C盘扩容笔记