0
点赞
收藏
分享

微信扫一扫

算法:单调栈

我阿霆哥 2022-01-25 阅读 49

什么是单调栈

单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈单调递减栈

  • 单调递增栈:从栈底到栈顶数据是从大到小
  • 单调递减栈:从栈底到栈顶数据是从小到大

模拟单调栈的数据push和pop

现有一组树10、3、7、4、12,从左到右依次入栈,如果栈为空或者入栈元素值小于栈顶元素值,则入栈;否则,如果入栈会破坏栈的单调性,则需要把比入栈元素小的元素全部出栈。单调递减的栈则反之

  • 10入栈时,栈为空,直接入栈,栈内元素为10
  • 3入栈时,栈顶元素10比3大,则入栈,栈内元素为10、3
  • 7入栈时,栈顶元素3比7
举报

相关推荐

0 条评论