![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈和队列
c葱c
这个作者很懒,什么都没留下…
展开
-
栈和队列的总结
7.自己设计单调队列。使其中的元素按递增或递减排列。pop push 可以按照自己的需要进行写。5.同样也是用栈顶元素与遍历到的元素匹配,如果不相等就加入栈中,相等就弹出,消除。4. 用栈顶元素和遍历到的元素进行匹配,如果匹配就弹出。8. 大根堆 小根堆 的问题。会自动将插入的按照规则排序。比如说:如果是操作符,就从栈顶取出两个元素,进行运算。条件就是:遍历到的元素是 数字 还是 操作符。6.也是栈顶元素进行一定规则的匹配。条件是:如果匹配,就消除。如果是数字,直接压入栈中。原创 2023-03-27 15:13:23 · 29 阅读 · 0 评论 -
leetcode 347.前 K 个高频元素
同时因为题目只要求前 k 个,所以如果全部排序就 时间复杂度会更高。因为堆优先弹出的是 根结点。我们要求的是频率最高的。所以不能使用大根堆。不然弹出的就是最大的。2. 然后将map中的元素,依照value排序,插入优先队列中,优先队列会根据排序顺序来自己变换位置。3. 全部插入以后,由于是小根堆。所以需要逆序存放进数组。1. 首先用map,记录下对应的元素及其出现的次数。使用优先队列实现小根堆。原创 2023-03-27 14:59:19 · 32 阅读 · 0 评论 -
leetcode 239. 滑动窗口最大值
加入队尾的元素,要求队内没有比 它(val) 更小的元素,如果有的话,需要被弹出。在比较是否要加入val时,需要从后向前依次比较。不相等的情况就是 之前已经被弹出了(在后面的push里面。pop push 函数也可以由自己定义。只关心需要弹出的元素,是否与队列头元素相等。如果没有比它(val),小的元素了,就加入。相等的情况就是队列满了,需要弹出最大值了。单调队列就是我们自己定义的一个队列。返回队列头的元素,就是滑动的最大值。本题是要求滑动窗口的最大值。可以单调增或者单调减。原创 2023-03-27 14:03:40 · 48 阅读 · 0 评论 -
leetcode 150. 逆波兰表达式求值
2.字母消除,每碰到一个元素,就判断是否与栈顶相同,相同就弹出,不相同就压入。3. 是用 num2 - num1。因为栈出来的顺序是相反的。string -- > 其他类型 stoll stoi stod。碰到数字就存入栈,碰到操作符就取出栈顶的两个元素,操作之后,压入栈。3.表达式 碰到数字就压入,碰到操作符就取出栈顶的元素。1.括号匹配,出现了右括号,就判断栈顶元素是否匹配。常用的 stoll stod , 因为可以向下兼容。用栈来解决,出现一个字符,就操作前面存过的字符。原创 2023-03-25 11:59:46 · 142 阅读 · 0 评论 -
leetcode 1047. 删除字符串中的所有相邻重复项
栈可以知道前一个存放的是什么,并且可以做出弹出的操作。相邻字符消除,都可以用栈来解决。需要知道一些字符串的api。可以用字符串直接模拟。原创 2023-03-25 11:26:31 · 34 阅读 · 0 评论 -
leetcode 20. 有效的括号
如果 碰见 左括号 就存入 左括号,当遇见右括号的时候,需要将进行类型匹配,麻烦。这样做的原因是:当遇到右括号以后,就可以直接比较是否与栈顶元素相同。3.左括号和右括号不匹配 (]栈顶元素 与 遍历的字符 不相等。2.右括号多了 [[]]]]1. 左括号多了 [[]还没遍历结束,栈已经为空。经典的用栈实现括号匹配。遍历结束,但栈不为空。原创 2023-03-25 10:54:22 · 47 阅读 · 0 评论 -
leetcode 232.用栈实现队列
1. 先把stIn的元素全部弹出到stOut,再对stOut 进行 top函数即可。2.函数复用:调用之前写的pop函数,将栈顶元素获取之后,再将元素放回。弹出:先把stIn的元素全部弹出到stOut,再从stOut弹出元素。多用一个栈当作工具,方便调整弹出的顺序和队列弹出元素的顺序一致。了解了一下栈的api。原创 2023-03-24 13:48:54 · 59 阅读 · 0 评论 -
leetcode 225. 用队列实现栈
弹出:先将 que1 中,除了最后一个元素,其他的元素都放入que2(作为备用)。然后弹出que1,再把que2赋值给que1。que中的元素,除了最后一个,其他的元素都先插入到队尾,再弹出。这样最后一个元素就会到队头。就可以直接进行弹出操作了。查看首元素:que1 使用 back 函数。是否为空:que1是否为空。弹入:放入que1中。原创 2023-03-24 14:16:56 · 150 阅读 · 0 评论