Cracking The Coding Interview 3.2
来源:互联网 发布:义乌涉外数据服务中心 编辑:程序博客网 时间:2024/05/18 19:22
//How would you design a stack which, in addition to push and pop, also has a function min which returns the minimum element? Push, pop and min should all operate in O(1) time.//使用一个链表来记录最小值的index #include <iostream>using namespace std;#define MAXSIZE 100#define INIT -888888class mStack{public:mStack(){top = -1;mi = new min;mi->data = 0;mi->nextMin = NULL;for (int i =0 ;i<100; i++){data[i] = INIT;}}int pop(){if (top > -1){if (top == mi->data){min *t = mi;mi = mi->nextMin;delete t;}int c= data[top];data [top] = INIT;top --;return c;}elsereturn -2;}bool push(int e){if (top<MAXSIZE-1){top++;data[top] = e;if (data[mi->data] > data[top] && data[top]!= INIT){min *t = new min;t->data = top;t->nextMin = mi;mi = t;}return true;}else{return false;}}int getmin(){return data[mi->data];}private:int data[MAXSIZE];int top;struct min{int data;min *nextMin;};min *mi;};int main(){mStack s;for (int i=0;i<10;i++){s.push(10-i);}s.pop();s.pop();cout<<s.getmin()<<endl;return 0;}
0 0
- Cracking The Coding Interview 3.2
- Cracking the Coding Interview
- 《Cracking the coding interview》
- Cracking The Coding Interview
- Cracking the coding interview
- Cracking the coding interview
- Cracking the coding interview--Q1
- Cracking the coding interview--Q17
- Cracking the coding interview--Q2
- Cracking the coding interview--Q3
- Cracking the coding interview--Q4
- Cracking the coding interview--Q5
- Cracking the coding interview--Q8
- Cracking the coding interview--Q9
- Cracking the coding interview 题目
- Cracking The Coding Interview 1.1
- Cracking The Coding Interview 1.2
- Cracking The Coding Interview 1.3
- junit 4 超时测试
- 禁用ActionBar方法
- eclipse的SVN插件安装
- 四种SQL分页语句
- Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
- Cracking The Coding Interview 3.2
- junit 4 参数化测试
- android检测网络是否连接,WIFI是否连接
- Mysql+C3P0+Hibernate,偶发性异常
- 数据结构8:队列的顺序存储结构表示和实现
- ext-basex.js处理的同步请求在Firefox12、谷歌最新版本中不支持(在Firefox11中是支持的)怎么办?(已解答)
- 第四周的作业
- LINQ 小心Access to modified closure 问题
- 如何为Apache配置第三方证书