栈与队列
文章平均质量分 58
三二一一二三
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
8.347. 前 K 个高频元素
public://大顶堆i++) {//把哈希当数组用it!=mp.end();it++) {//用迭代器遍历//迭代器当指针用。优先队列里存的是pair键值对//vector是动态的,一开始未知大小,故定个下限。不然报错i>=0;i--) {//一步。直接把定义的哈希和优先队列拿来放进resque.pop();return res;原创 2025-01-28 03:53:15 · 1712 阅读 · 0 评论 -
7.239. 滑动窗口最大值
public:void push(int k) {//主体一步。一个while维护单调性,弹出队尾while (!//插入窗口头void pop(int k) {//一步。一个if弹出队头。if (!int front() {//一步,直接返回public:i<k;i++) {i<n;i++) {//一步。用单调队列维护滑动窗口最值即可。return res;原创 2025-01-28 02:31:56 · 243 阅读 · 0 评论 -
6.150.逆波兰表达式
可以先写else,再写if。因为if里的条件是相等,处理子表达式,但处理子表达式的前提是要有操作数和操作符。if是处理的重点,放在前面,但逻辑上是先有处理的东西,再去处理。特点:1、去掉括号后表达式没有歧义。我的理解是运算符直接从左到右出现,后算的后出现,包含了括号改变运算顺序的功能。单个的字符串可以当char放进栈、队列等数据结构,但在使用连等号==时不一样。字符串的子串,即使是单个,在使用==号时也要用双引号表示是字符串而不是字符。stoi,stol,stof,stoll就是字符串转数字的缩写。原创 2025-01-06 14:59:12 · 275 阅读 · 0 评论 -
5.1047.删除字符串中的所有相邻重复项
string res;//原字符串当栈,造一个新的来存放返回值= t) {//能放进去(不重复或者空)的话} else {//重复则弹出return res;原创 2025-01-06 13:52:47 · 172 阅读 · 0 评论 -
4.20.有效的括号
i++) {原创 2025-01-06 13:10:20 · 255 阅读 · 0 评论 -
3.225.队列实现栈
public:MyStack() {//不用管//要弹出最后一个元素,故要用到sizesz--;//拷贝n-1个que.pop();que.pop();return res;//和pop差不多,但有区别,无法复用sz--;que.pop();que.pop();return res;原创 2025-01-03 14:37:14 · 161 阅读 · 0 评论 -
2.232.用栈实现队列
public:MyQueue() {//这个不用管//如果输出栈是空的,就从输入栈移到输出栈弹出while (!stIn.pop();//先保存再弹出return res;//代码复用//弹出了,再推回去。return res;bool empty() {//判空:输出栈和输入栈模拟一整个队列。队列的判空就是两个一起判空。原创 2025-01-03 11:21:15 · 281 阅读 · 0 评论
分享