news 2026/4/16 13:58:26

【Java 开发日记】有了解过 SpringBoot 的参数配置吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?

一、什么是单调栈?先打破 “栈” 的常规认知
提到栈,大家首先想到的是 “先进后出” 的线性结构,而单调栈,顾名思义,就是在普通栈的基础上,给元素加上了 “单调性” 的约束 —— 栈内的元素必须严格保持递增或递减(也可根据需求调整为非严格递增 / 递减)。

1.1 单调栈的核心特性
本质还是栈:完全遵循栈的 “先进后出” 规则,只是多了 “维护单调性” 的操作;
单调性可控:可维护单调递增栈(栈底到栈顶元素从小到大),也可维护单调递减栈(栈底到栈顶元素从大到小);
操作高效:每个元素最多入栈一次、出栈一次,整体时间复杂度稳定在 O (n)。
1.2 如何实现一个单调栈?
话不多说,先看基础代码实现。我们以 C++ 为例,分别实现单调递增栈和单调递减栈:

1.3 核心操作解析:为什么要 “弹出元素”?
大家可能会疑惑:“为什么要先弹出元素再入栈?” 其实这正是单调栈的核心 ——为了保证栈的单调性不被破坏。

比如维护单调递增栈时,若当前元素a[i]比栈顶元素小,说明栈顶元素 “挡路” 了:如果直接入栈,栈就会出现 “大元素在前、小元素在后” 的情况,违背递增规则。因此需要先弹出所有≥a[i]的元素,直到栈顶元素<a[i](或栈为空),再将a[i]入栈。

举个直观的例子:假设数组a = [5, 3, 7, 2],维护单调递增栈的过程:

i=1,a [i]=5:栈空,直接入栈 → 栈:[5]
i=2,a [i]=3:栈顶 5≥3,弹出 5;栈空,入栈 3 → 栈:[3]
i=3,a [i]=7:栈顶 3<7,直接入栈 → 栈:[3,7]
i=4,a [i]=2:栈顶 7≥2,弹出 7;栈顶 3≥2,弹出 3;栈空,入栈 2 → 栈:[2]
最终栈内元素为 [2],完美保持递增特性。

二、单调栈能解决什么问题?四大核心场景全覆盖
单调栈的核心应用场景,总结起来就是 “找最近最值”—— 给定一个元素,找到它左侧 / 右侧最近的、比它大 / 小的元素的位置。这四类问题看似不同,实则原理相通,掌握一种就能举一反三。

先记住一句 “口诀”:找左侧,正遍历;找右侧,逆遍历;比它大,单调减;比它小,单调增。这句话能帮你快速确定遍历方向和栈的单调性,下文会反复验证。

2.1 场景 1:找左侧最近的 “更大元素”
问题描述
给定数组a,对于每个元素a[i],找到其左侧第一个比它大的元素的下标;若不存在,返回 0。
轻松应对算法面试和竞赛中的相关问题!

https://www.zhihu.com/zvideo/1991444396550419595
https://www.zhihu.com/zvideo/1991444396550419595/
https://www.zhihu.com/zvideo/1991444400685990056
https://www.zhihu.com/zvideo/1991444400685990056/
https://www.zhihu.com/zvideo/1991444403080934568
https://www.zhihu.com/zvideo/1991444403080934568/
https://www.zhihu.com/zvideo/1991444407120066006
https://www.zhihu.com/zvideo/1991444407120066006/
https://www.zhihu.com/zvideo/1991444412690089602
https://www.zhihu.com/zvideo/1991444412690089602/
https://www.zhihu.com/zvideo/1991444413151453247
https://www.zhihu.com/zvideo/1991444413151453247/
https://www.zhihu.com/zvideo/1991444415072449244
https://www.zhihu.com/zvideo/1991444415072449244/
https://www.zhihu.com/zvideo/1991444417685496255
https://www.zhihu.com/zvideo/1991444417685496255/
https://www.zhihu.com/zvideo/1991444419304523511
https://www.zhihu.com/zvideo/1991444419304523511/
https://www.zhihu.com/zvideo/1991444422957737653
https://www.zhihu.com/zvideo/1991444422957737653/
https://www.zhihu.com/zvideo/1991444423712727882
https://www.zhihu.com/zvideo/1991444423712727882/
https://www.zhihu.com/zvideo/1991444429358260547
https://www.zhihu.com/zvideo/1991444429358260547/
https://www.zhihu.com/zvideo/1991444435788124304
https://www.zhihu.com/zvideo/1991444435788124304/
https://www.zhihu.com/zvideo/1991444438283748807
https://www.zhihu.com/zvideo/1991444438283748807/
https://www.zhihu.com/zvideo/1991444442029237915
https://www.zhihu.com/zvideo/1991444442029237915/
https://www.zhihu.com/zvideo/1991444446353568810
https://www.zhihu.com/zvideo/1991444446353568810/
https://www.zhihu.com/zvideo/1991444447418933513
https://www.zhihu.com/zvideo/1991444447418933513/
https://www.zhihu.com/zvideo/1991444451667760011
https://www.zhihu.com/zvideo/1991444451667760011/
https://www.zhihu.com/zvideo/1991444454700259207
https://www.zhihu.com/zvideo/1991444454700259207/
https://www.zhihu.com/zvideo/1991444460219950272
https://www.zhihu.com/zvideo/1991444460219950272/
https://www.zhihu.com/zvideo/1991444467476084293
https://www.zhihu.com/zvideo/1991444467476084293/
https://www.zhihu.com/zvideo/1991444469036364665
https://www.zhihu.com/zvideo/1991444469036364665/
https://www.zhihu.com/zvideo/1991444470290485472
https://www.zhihu.com/zvideo/1991444470290485472/
https://www.zhihu.com/zvideo/1991444471867531858
https://www.zhihu.com/zvideo/1991444471867531858/
https://www.zhihu.com/zvideo/1991444479647958065
https://www.zhihu.com/zvideo/1991444479647958065/
https://www.zhihu.com/zvideo/1991444482730787262
https://www.zhihu.com/zvideo/1991444482730787262/
https://www.zhihu.com/zvideo/1991444486551781562
https://www.zhihu.com/zvideo/1991444486551781562/
https://www.zhihu.com/zvideo/1991444488246284844
https://www.zhihu.com/zvideo/1991444488246284844/
https://www.zhihu.com/zvideo/1991444490083407716
https://www.zhihu.com/zvideo/1991444490083407716/
https://www.zhihu.com/zvideo/1991444491291351022
https://www.zhihu.com/zvideo/1991444491291351022/
https://www.zhihu.com/zvideo/1991444496056083407
https://www.zhihu.com/zvideo/1991444496056083407/
https://www.zhihu.com/zvideo/1991444500426536431
https://www.zhihu.com/zvideo/1991444500426536431/
https://www.zhihu.com/zvideo/1991444501177337176
https://www.zhihu.com/zvideo/1991444501177337176/
https://www.zhihu.com/zvideo/1991444503433847658
https://www.zhihu.com/zvideo/1991444503433847658/
https://www.zhihu.com/zvideo/1991444508286677272
https://www.zhihu.com/zvideo/1991444508286677272/
https://www.zhihu.com/zvideo/1991444516071297326
https://www.zhihu.com/zvideo/1991444516071297326/
https://www.zhihu.com/zvideo/1991444521993659491
https://www.zhihu.com/zvideo/1991444521993659491/
https://www.zhihu.com/zvideo/1991444520756326569
https://www.zhihu.com/zvideo/1991444520756326569/
https://www.zhihu.com/zvideo/1991444530508084840
https://www.zhihu.com/zvideo/1991444530508084840/
https://www.zhihu.com/zvideo/1991444532701700277
https://www.zhihu.com/zvideo/1991444532701700277/
https://www.zhihu.com/zvideo/1991444535310558532
https://www.zhihu.com/zvideo/1991444535310558532/
https://www.zhihu.com/zvideo/1991444538896691423
https://www.zhihu.com/zvideo/1991444538896691423/
https://www.zhihu.com/zvideo/1991444539517469895
https://www.zhihu.com/zvideo/1991444539517469895/
https://www.zhihu.com/zvideo/1991444539953669323
https://www.zhihu.com/zvideo/1991444539953669323/
https://www.zhihu.com/zvideo/1991444543313298769
https://www.zhihu.com/zvideo/1991444543313298769/
https://www.zhihu.com/zvideo/1991444543116170816
https://www.zhihu.com/zvideo/1991444543116170816/
https://www.zhihu.com/zvideo/1991444547226588053
https://www.zhihu.com/zvideo/1991444547226588053/
https://www.zhihu.com/zvideo/1991444547859916301
https://www.zhihu.com/zvideo/1991444547859916301/
https://www.zhihu.com/zvideo/1991444558530232896
https://www.zhihu.com/zvideo/1991444558530232896/
https://www.zhihu.com/zvideo/1991444569041154673
https://www.zhihu.com/zvideo/1991444569041154673/
https://www.zhihu.com/zvideo/1991444571847168218
https://www.zhihu.com/zvideo/1991444571847168218/
https://www.zhihu.com/zvideo/1991444572371445360
https://www.zhihu.com/zvideo/1991444572371445360/
https://www.zhihu.com/zvideo/1991444574854471933
https://www.zhihu.com/zvideo/1991444574854471933/
https://www.zhihu.com/zvideo/1991444575156471416
https://www.zhihu.com/zvideo/1991444575156471416/
https://www.zhihu.com/zvideo/1991444578637740027
https://www.zhihu.com/zvideo/1991444578637740027/
https://www.zhihu.com/zvideo/1991444580239942878
https://www.zhihu.com/zvideo/1991444580239942878/
https://www.zhihu.com/zvideo/1991444581443724738
https://www.zhihu.com/zvideo/1991444581443724738/
https://www.zhihu.com/zvideo/1991444581615683354
https://www.zhihu.com/zvideo/1991444581615683354/
https://www.zhihu.com/zvideo/1991444586313299521
https://www.zhihu.com/zvideo/1991444586313299521/
https://www.zhihu.com/zvideo/1991444596144747929

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:41:40

10分钟精通LeagueAkari英雄联盟辅助工具:从新手到高手的完整指南

10分钟精通LeagueAkari英雄联盟辅助工具:从新手到高手的完整指南 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari …

作者头像 李华
网站建设 2026/4/16 12:14:38

R语言GPT包安装总失败?你可能缺了这4个核心依赖库

第一章:R语言GPT包安装失败的常见现象 在尝试将新兴工具集成至R环境中时,用户常遇到名为“gpt”或类似名称的包无法安装的问题。尽管CRAN并未收录官方名为gpt的包,但许多开发者试图通过GitHub或其他源引入第三方封装模型接口,由此…

作者头像 李华
网站建设 2026/4/16 12:46:59

Path of Building PoE2实战指南:从BD构建到效率翻倍

Path of Building PoE2实战指南:从BD构建到效率翻倍 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 还在为流放之路2的复杂BD构建而头疼吗?每次调整天赋点都要反复计算伤害和生存…

作者头像 李华
网站建设 2026/4/8 12:44:13

微软Azure TTS集成复杂?IndexTTS 2.0文档更友好

微软Azure TTS集成复杂?IndexTTS 2.0文档更友好 在短视频、虚拟主播和AIGC内容爆发的今天,语音合成早已不再是“能出声就行”的基础功能。创作者真正需要的是:一段语气饱满的独白能严丝合缝卡上镜头转场,一个数字人可以用自己的声…

作者头像 李华
网站建设 2026/4/16 11:01:21

手机号码地理编码系统:基于ASP.NET的空间映射技术解析

手机号码地理编码系统:基于ASP.NET的空间映射技术解析 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com/gh_mirr…

作者头像 李华