关于单调栈的使用

表现良好的最长时间段--这道题的关键就是前缀和,以及单调栈。前缀和意思是说如果大于8就是1否则就是-1,这样可以形成新的数组,然后新的数组中如果两个数中后面的数大于前面则这个区间就是有效区间。求有效区间的最大值,使用单调栈,先遍历这个数组获取递减值,然后反向遍历数组,和单调栈pop()出来的元素进行比对,并要注意i的相对大小。这用到的关键思想就是递减区间中一定包含最小值。

每日温度也用到了单调栈,这道题核心就是保存一个递减栈,每次pop()出来的元素都比pop()出来后peek()的元素小,这样能减少比对次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值