面试题研究 用两个栈模拟实现队列

news/2024/7/4 1:43:59 标签: 面试, class
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">  

这是我class="tags" href="/tags/MianShi.html" title=面试>面试一个公司的时候碰到的class="tags" href="/tags/MianShi.html" title=面试>面试题

Q 请用两个栈模拟实现队列,至少完成入队、出队及计算长度的方法

A 基本思路是两次后进先出 = 先进先出,元素入队列总是入左栈,元素出队列如果右栈不为空直接弹出右栈头元素;如果右栈为空就把左栈元素出栈全部压入右栈,再弹出右栈头,这样就模拟出了一个队列。

class="language-cpp">Class Q{
   stack<int> S1,S2;
   void push(int a){
		S1.push(a);
}

	int pop(){
		if(S2.empty()){
			while(S1.size()>0){
				S2.push(S1.pop());
			}
		}
	return S2.pop();
	}
}


 


http://www.niftyadmin.cn/n/1798627.html

相关文章

数据挖掘之lsh minhash simhash

http://blog.csdn.net/hxxiaopei/article/details/7977248 在项目中碰到这样的问题&#xff1a; 互联网用户每天会访问很多的网页&#xff0c;假设两个用户访问过相同的网页&#xff0c;说明两个用户相似&#xff0c;相同的网页越多&#xff0c;用户相似度越高&#xff0c;这就…

hadoop全局变量问题

在实际使用的场景中&#xff0c;我们会遇到这样的问题&#xff0c;就是需要读取一个全局性的变量&#xff0c;例如&#xff0c;我希望日期是一个全局性的变量&#xff0c;在map和reduce中都可以使用&#xff0c;例如在reduce中建表的时候会使用这个值 现在有两种场景和方法 1…

POJ 1002 电话号码字符串处理

这题比较简单&#xff0c;就是对电话号码的字符串处理并排序输出&#xff0c;但是实现时有几个注意的地方 1、用map存储比较方便&#xff0c;可以自动根据string的排序规则排序&#xff0c;而且题目数据恰好是<string,int>的K-V存储特点。 2、用另一个字符串重新拼接待输…

最优化第二讲——一维搜索法(斐波那契法和java实现)

先看一下斐波那契数列 这个很容易理解&#xff0c;就是当前的值等于前两个值的和 斐波那契法的递归结构如下 步骤一&#xff1a;我们首先要知道需要精确到的区间长度&#xff0c;例如要在[1, 10]之间搜索极小值点&#xff0c;希望精确到0.5之间&#xff0c;那么也就是我最后要求…

最优化第二讲——一维搜索法(黄金分割法和java实现)

新区间的长度L(n)&#xff0c;旧区间的长度L(n-1)。L(n)/L(n-1) 0.618 所以查找速度&#xff1a;0.618^n。 公式为&#xff1a; 这个比较容易理解&#xff0c;看代码就可以看清楚了&#xff0c;主要是区间的更新问题&#xff0c;每次更新长度都变化为原来的0.618 代码如下 [j…

敏捷个人新体系:定位

转载于:https://blog.51cto.com/zhoujg/1538467

POJ1258 最小生成树prim算法

典型的prim算法 这类题目可以稍作变形&#xff0c;比如POJ2421 #include <iostream>#include <map>#define MAXN 102typedef long elem_t;using namespace std;elem_t prim(int n,elem_t mat[MAXN][MAXN]){elem_t closeEdge[MAXN],sum0,min;int i,j,k;for(i 0; i…

istringstream

编写程序&#xff0c;将来自一个文件中的行保存在一个vector<string>中&#xff0c;然后使用一个istringstream从vector读取数据成员&#xff0c;每次读取一个单词 #include <iostream> #include <sstream> #include<fstream> #include<vector> …