刷题Day5-栈与队列

232. 用栈实现队列

一个栈用于存入,另一个栈用于弹出。


225. 用队列实现栈

两个队列没有主次之分,需要放入的时候放到有对象的队列,需要弹出的时候将对象从有对象的队列放到没对象的队列中,返回最后一个对象即可。


20. 有效的括号

典型的用栈解决的问题,括号问题基本上都是栈解决。

需要注意边界条件,注意栈的size问题,遇到右括号的时候栈是否还有对象可以取出,最后是否还剩余没有取出来的左括号。


1047. 删除字符串中的所有相邻重复项

这个题挺有意思的,消消乐。遇到相同的消除,本质上使用一个栈,每次存之前看看栈顶是否有相同的,如果相同,弹栈


150. 逆波兰表达式求值

逆波兰表达式,又是经典的栈问题


347. 前 K 个高频元素

优先队列的使用,根据出现次数进行比较


 

239. 滑动窗口最大值

刷题五天,第一个困难题

这个题的思路比较清晰明确,使用优先队列维护当前记录中的最大值

同时使用map记录当前区间内的数

如果优先队列的最大值已经不在当前map记录的数内了,则删除优先队列的第一个值,继续循环执行。

posted @ 2022-06-17 11:28  _厨师沙拉  阅读(23)  评论(0)    收藏  举报