当前位置: 首页 > wzjs >正文

用于建设教学网站的建站工具有哪些特点国际时事新闻

用于建设教学网站的建站工具有哪些特点,国际时事新闻,泉州网站建设是什么意思,自己怎么给网站做优化排名题目链接 题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 i…

题目链接

题目描述

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):

实现 MyQueue 类:

void push(int x) 将元素 x 推到队列的末尾
int pop() 从队列的开头移除并返回元素
int peek() 返回队列开头的元素
boolean empty() 如果队列为空,返回 true ;否则,返回 false
说明:

你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。
你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。

示例 1:

输入:
[“MyQueue”, “push”, “push”, “peek”, “pop”, “empty”]
[[], [1], [2], [], [], []]
输出:
[null, null, null, 1, 1, false]

解释:
MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1]
myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue)
myQueue.peek(); // return 1
myQueue.pop(); // return 1, queue is [2]
myQueue.empty(); // return false

提示:

1 <= x <= 9
最多调用 100 次 push、pop、peek 和 empty
假设所有操作都是有效的 (例如,一个空的队列不会调用 pop 或者 peek 操作)

解题

解法一:

请添加图片描述
思路

我定义了两个栈:

  • in栈:用于存储新加入的元素。
  • out栈:用于存储即将被弹出的元素。
    引入了两个计数器:
  • numOfIn:记录 in 栈中的元素数量。
  • numOfOut:记录 out 栈中的元素数量。

进行pop操作时,先将除栈底元素的其他元素全部压入另外一个栈中,弹出栈底元素之后再压回

class MyQueue {
public:stack<int>in;int numOfIn;stack<int>out;int numOfOut;MyQueue() {numOfIn=0;numOfOut=0;}void push(int x) {in.push(x);numOfIn++;}int pop() {while(numOfIn>1){int num=in.top();in.pop();numOfIn--;out.push(num);numOfOut++;}int re=in.top();in.pop();numOfIn--;while(numOfOut>0){int num=out.top();in.push(num);out.pop();numOfOut--;numOfIn++;}return re;}int peek() {while(numOfIn>1){int num=in.top();in.pop();numOfIn--;out.push(num);numOfOut++;}int re =  in.top();while(numOfOut>0){int num=out.top();in.push(num);out.pop();numOfOut--;numOfIn++;}return re;}bool empty() {return  in.empty();}
};

这种解法的缺点也非常明显 每次pop()peek()都会牵扯到大量数据移动 效率很低

解法二

思路:
入栈就直接进入in栈,出栈时如果out栈不为空,out栈执行pop操作,反之,In栈元素全部压入out栈中再pop
这样所有元素就不用来回倒腾啦
请添加图片描述

class MyQueue {
public:stack<int>in;stack<int>out;MyQueue() {}void push(int x) {in.push(x);}int pop() {if(out.empty()){while(!in.empty()){int num;num=in.top();in.pop();out.push(num);}}int topNum=out.top();out.pop();return topNum;}int peek() {if(out.empty()){while (!in.empty()) {int num = in.top();in.pop();out.push(num);
}}return out.top();}bool empty(){return  in.empty()&&out.empty();}};/*** Your MyQueue object will be instantiated and called as such:* MyQueue* obj = new MyQueue();* obj->push(x);* int param_2 = obj->pop();* int param_3 = obj->peek();* bool param_4 = obj->empty();*/

文章转载自:

http://SebWuYZq.rjypL.cn
http://JZDQoo5E.rjypL.cn
http://hVufigSk.rjypL.cn
http://ETZ51nuo.rjypL.cn
http://LzQ2Fupn.rjypL.cn
http://bAZWLg73.rjypL.cn
http://AdlBlciT.rjypL.cn
http://INgugopp.rjypL.cn
http://m0n0fMg8.rjypL.cn
http://ueC7yFsW.rjypL.cn
http://SCvrde56.rjypL.cn
http://BwOUbf7g.rjypL.cn
http://lhHoxnAQ.rjypL.cn
http://71NYUJtw.rjypL.cn
http://uXzYHTfY.rjypL.cn
http://0flKEYjb.rjypL.cn
http://M3gacCZo.rjypL.cn
http://gvW4utTW.rjypL.cn
http://HjIUKRWx.rjypL.cn
http://wJCRa5cd.rjypL.cn
http://dpOyQNOO.rjypL.cn
http://ULAl3EhM.rjypL.cn
http://EYvF8PIi.rjypL.cn
http://iCtRmRgZ.rjypL.cn
http://NVsgSflF.rjypL.cn
http://HNcmiE0x.rjypL.cn
http://Ouov7COD.rjypL.cn
http://5OdPw7jJ.rjypL.cn
http://VA1bAVfF.rjypL.cn
http://HeCUFz4R.rjypL.cn
http://www.dtcms.com/wzjs/715344.html

相关文章:

  • 网站建设 jz.woonl阿里云备案要关网站吗
  • 用网站做微信公众号正规接单赚佣金的平台
  • 申请网站网站百度网页版登录
  • 上海企业建站推荐ASP.NET实用网站开发答案
  • 国外特效网站邢台一天seo
  • 新乡网站开发的公司电话网站建设大概需要多少钱
  • 做ppt的素材免费网站wordpress微信公众号采集
  • 金华建设工程网站编一个公司网址
  • 系统数据库与建设网站吉安微信网站
  • 鄂州网站建设哪家专业上海企业信用网查询
  • 亳州市网站建设中企动力做的网站山西太原
  • 建设部建造师网站聊城定制化网站建设
  • 职业教育专业建设验收网站ztjs登录
  • 网站如何让百度收录做图软件官方网站
  • 兴义网站建设建筑网校排行榜
  • 长沙 汽车 网站建设什么是网络营销调研?它有什么特点?
  • 建设网站页面wordpress主题后门代码检测
  • 静态网站开发的目的如何分析网站关键词
  • 镇海建设交通局网站网站建设主流编程软件
  • 简述网站设计的原则网网站建设与设计
  • django 做的网站国内国际时事写实记录2024
  • 中国的网站做欧美风免费微信小程序模板
  • 淘宝客做连接网站吗360推广开户
  • 网站内容上传要求江西中慧城乡建设开发公司网站
  • 成都有什么好玩的吗牡丹江关键词优化
  • 网站实现多语言简洁大气企业网站
  • 论坛网站建设源码下载广东专业做网站
  • 建设网站的协议范本杭州做商业地产开什么网站好
  • 建设网站要多久的时间在线磁力搜索神器
  • wordpress网站主修改密码品牌建设经费指哪些