数据结构
Nicolas XL
这个作者很懒,什么都没留下…
展开
-
用递归函数和栈逆序一个栈_C++题解
题目:用递归函数和栈逆序一个栈 OJ地址:传送门 题解 用栈实现输出反转 #include <iostream> #include <stack> using namespace std; stack<int> st; int main() { int N, X; cin>>N; while(N--) { cin>>X; st.push(X); } while原创 2021-03-16 17:51:10 · 274 阅读 · 0 评论 -
由两个栈组成的队列_C++题解
题目名称:由两个栈组成的队列 题目地址: 传送门 题解 一个入队栈st1,一个出队栈st2,每次Peek和Poll前,判断出队栈st2是否为空,若为空,则将st1传入st2(不保留st1) #include <iostream> #include <stack> #define MAXN 1000010 using namespace std; stack<int> st1, st2; void Trans(stack<int> &s1, stac原创 2021-03-16 17:44:16 · 137 阅读 · 0 评论 -
设计getMin功能的栈_C++题解
题目名称:设计getMin功能的栈 题目地址:传送门 题解 用两个容器,一个顺序容器,使用数组;一个关联容器,使用map。 用数组构造栈,用于Push和Pop。每Push一个元素进去,map中关键字对应的值加1(若map中没有此关键字,创建该键值对)。每Pop一个元素,map中冠电子对应的值减1(若map中此关键字的值减为0,删除该键值对)。 每次GetMin,输出map中第一个键值对的关键字。 Push, Pop代价O(logN) GetMin代价O(1) #include <iostream>原创 2021-03-16 17:38:17 · 150 阅读 · 0 评论