数据结构 单调栈

本文介绍了单调栈这一特殊数据结构,详细阐述了单调栈的定义,包括单调递增栈和单调递减栈的工作原理,并通过示例进行说明。同时,文章提及单调栈在LeetCode 402题中的应用,探讨了其在解决问题中的价值。
摘要由CSDN通过智能技术生成

一、什么是单调栈

单调栈是一种特殊的栈,栈内元素满足从栈顶到栈底单调有序

  • 单调递增栈:元素从栈顶到栈底单调递增
  • 单调递减栈:元素从栈顶到栈底单调递减
1. 单调栈示例

从数组 [5, 4, 2, 3, 6, 7, 1] 构建单调栈

  • 单调递增栈

    单调递增栈:栈顶到栈底元素单调递增(栈顶为栈内最小元素

    • 栈为空或者当前元素比栈顶元素小:当前元素直接入栈
    • 当前元素比栈顶元素大:栈顶元素出栈,当前元素重新入栈
    步骤 单调栈内容 描述
    0 [ ] 栈初始化
    1 [ 5 ] 5入栈(栈为空,5直接入栈)
    2 [ 5, 4 ] 4入栈(4 < 5,4直接入栈)
    3 [ 5, 4, 2] 2入栈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值