单调栈队列
文章平均质量分 64
梦中醉卧惊起
这个作者很懒,什么都没留下…
展开
-
单调栈、单调队列(超详细)
单调栈、单调队列 单调栈 单调递增栈:栈中数据入栈或出栈的序列为单调递减序列; 单调递减栈:栈中数据入栈或出栈的序列为单调递增序列。 维护单调递增栈:遍历数组中每一个元素,执行入栈:每次入栈前先检验栈顶元素和进栈元素的大小。 如果栈空或进栈元素大于栈顶元素则直接入栈;如果进栈元素小于等于栈顶元素,则出栈,直至进栈元素大于栈顶元素。 //单调递增栈 int nums[maxn]; stack < int > q; for (int i = 0; i < nums.length; i++)原创 2022-02-15 13:47:09 · 2401 阅读 · 0 评论 -
百亿富翁 (单调栈)
百亿富翁 题目描述 这天小明买彩票中了百亿奖金,兴奋的他决定买下蓝桥公司旁的一排连续的楼房。 已知这排楼房一共有 NN 栋,编号分别为1∼N,第 ii 栋的高度为h i 。 好奇的小明想知道对于每栋楼,左边第一个比它高的楼房是哪个,右边第一个比它高的楼房是哪个(若不存在则输出 -1)。但由于楼房数量太多,小明无法用肉眼直接得到答案,于是他花了 1 个亿来请你帮他解决问题,你不会拒绝的对吧? 输入描述 第 1 行输入一个整数 N.表示楼房的数量。 第 2 行输入 N 个整数(相邻整数用空格隔开),分别为 h_原创 2022-04-03 15:55:33 · 350 阅读 · 0 评论