摘要:
✔做题思路or感想: 单调队列可以通过维护单调性去解决区间内最大或最小的问题 一般自己造新的DIY队列时,可以用双向队列,更方便 这一道题的思路是用单调队列维护滑动区间内的最大值,使得单调队列的队首就是区间内的最大值 为了实现这一点,可以这样来设计: pop:如果窗口移除的元素value等于单调队列 阅读全文
posted @ 2022-03-25 18:59
北原春希
阅读(35)
评论(0)
推荐(0)
摘要:
✔做题思路or感想: 摆明了用栈来写 如果字符串是正数,则把字符串转化为数字push进栈中 如果字符串是负数,则先忽略第一个负号并将其转化为数字,最后再乘个-1,push进栈中 如果字符串是运算符,则取栈顶前两个元素出来进行运算,然后把结果再push进栈中 最后栈顶元素就是答案 class Solu 阅读全文
posted @ 2022-03-25 12:12
北原春希
阅读(42)
评论(0)
推荐(0)
摘要:
✔做题思路 or 感想: 做这种对称匹配类问题,相当适合用栈来解 有三种不匹配情况 {],单纯不匹配 {{}左边多了 []]右边多了 遇到这三种直接return false就好 class Solution { public: bool isValid(string s) { stack<char> 阅读全文
posted @ 2022-03-25 11:49
北原春希
阅读(32)
评论(0)
推荐(0)
摘要:
✔做题思路 or 感想 : 用队列实现栈,仅仅用一个队列就可以了 push:直接push进队列就好 pop:把队首加到队尾,直到最开始的队尾变成了队首,这样就可以取最开始的队尾的值了。 peek:这个和pop的操作差不多,但是最后的操作有别。在最后取完队首(即是最开始的栈顶)后,要再把队首加到队尾去 阅读全文
posted @ 2022-03-25 11:24
北原春希
阅读(27)
评论(0)
推荐(0)
摘要:
✔做题思路 or 感想 : 用栈来实现队列的一般方法是:造一个输入栈和一个输出栈来模拟队列 当要push时,则把元素push进输入栈 当要pop时,检测输出栈是否有元素。若有,则直接把输出栈的栈顶元素pop掉就好。若无,则要先把输入栈的元素倒进输出栈,再进行操作 class MyQueue { pu 阅读全文
posted @ 2022-03-25 11:07
北原春希
阅读(43)
评论(0)
推荐(0)

浙公网安备 33010602011771号