摘要: 维护一个最大堆和一个最小堆,最大堆中的堆顶小于最小堆中的堆顶,并且两个堆的数据数目相差最大为1。 #include <iostream> #include <vector> #include <queue> using namespace std; void addNums(int num) { p 阅读全文
posted @ 2021-01-12 15:41 11YS 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 思路:维护一个K大小的最小堆,堆顶就是最小的元素,新元素都比堆顶小,当堆中元素个数小于K时,直接进入堆,当堆顶小于新元素时,弹出堆顶,新元素加入堆。 #include <iostream> #include <vector> #include <queue> using namespace std; 阅读全文
posted @ 2021-01-12 14:49 11YS 阅读(80) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <stack> using namespace std; class GetMinStack{ public: void push(int x); void pop(); int top(); int getmin(); private: s 阅读全文
posted @ 2021-01-12 13:34 11YS 阅读(43) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <stack> using namespace std; class MyQueue { public: bool empty(); int front(); void push(int a); int pop(); private: sta 阅读全文
posted @ 2021-01-12 11:22 11YS 阅读(51) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <queue> using namespace std; class myStack { public: void push(int a); int pop(); int top(); bool empty(); private: queue 阅读全文
posted @ 2021-01-12 11:21 11YS 阅读(23) 评论(0) 推荐(0) 编辑