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

常州青竹网络做网站福田祥菱q双排小货车报价及图片

常州青竹网络做网站,福田祥菱q双排小货车报价及图片,广东佛山网络科技有限公司,百度开放云搭建网站题解 问题描述 给出两个序列 pushed 和 poped,分别表示入栈和出栈操作的顺序。我们需要判断给定的出栈序列是否可能对应于给定的入栈序列。如果可能,则输出 “Yes”;否则,输出 “No”。 解题思路 读取输入:读取询问…

题解

问题描述

给出两个序列 pushedpoped,分别表示入栈和出栈操作的顺序。我们需要判断给定的出栈序列是否可能对应于给定的入栈序列。如果可能,则输出 “Yes”;否则,输出 “No”。

解题思路

  1. 读取输入:读取询问次数 q 和每次询问的入栈和出栈序列。

  2. 模拟栈操作:通过使用一个栈(s1)和一个队列(s2),我们可以模拟栈的入栈和出栈操作。
    a. 入栈操作:按顺序遍历入栈序列 pushed,每次将元素推入栈 s1
    b. 出栈操作:每次入栈后,检查栈顶元素是否与队列 s2 的前端元素相匹配。如果匹配,则从栈和队列中弹出元素,并继续检查下一个元素,直到不匹配或栈为空。

  3. 检查结果:如果所有出栈元素都被成功弹出,则输出 “Yes”。否则,输出 “No”。

  4. 清理数据结构:为下一次查询准备,确保栈和队列为空。

原始代码的错误

原始代码中的错误在于缺乏对连续出栈操作的处理。在模拟过程中,可能存在连续几个元素需要出栈的情况,但原始代码在每次入栈后只执行了一次出栈操作。这意味着对于某些入栈和出栈序列组合,代码可能在执行完所有的入栈操作后仍然留有未匹配的出栈元素。

错误代码部分:

for(int i=0;i<n;i++) {s1.push(pushed[i]);if(!s1.empty() && s1.top() == s2.front()) {s2.pop();s1.pop();}
}

修正

修正代码主要在于增加一个内部循环,其实是把原先 if 语句改成 while 循环,用于在每次入栈后连续检查栈顶元素与队列头部元素的匹配,直到不匹配或栈为空。

修正的代码块:

for(int i=0;i<n;i++) {s1.push(pushed[i]);while(!s1.empty() && s1.top() == s2.front()) {s2.pop();s1.pop();}
}

复杂度分析

时间复杂度:O(n),空间复杂度:O(n)。

代码简洁化

经过这一修正,原始代码中的第二个 while 循环成为多余,并被删除。最终的代码版本更精简,也更符合问题描述中的逻辑。

最终版本的完整代码:

#include<bits/stdc++.h>
using namespace std;
int pushed[100005];
int poped[100005];
stack<int> s1;
queue<int> s2;
int main() {int q;cin>>q;while(q--) {int n;cin>>n;for(int i=0;i<n;i++) {cin>>pushed[i];}for(int i=0;i<n;i++) {cin>>poped[i];s2.push(poped[i]);}for(int i=0;i<n;i++) {s1.push(pushed[i]);while(!s1.empty() && s1.top() == s2.front()) {s2.pop();s1.pop();}}if(s1.empty())cout<<"Yes"<<endl;elsecout<<"No"<<endl;while(!s1.empty()) s1.pop();while(!s2.empty()) s2.pop();}return 0;
}

这个版本的代码更精简,也更符合问题描述中的逻辑。

http://www.yayakq.cn/news/353305/

相关文章:

  • 网站功能定制网站后台页面进不去
  • 猪八戒做网站怎么样短视频营销的特点
  • wordpress网站关键字怎么看网站后台什么语言做的
  • 网站建设哪里最便宜阿里云怎么放多个网站
  • 自己怎么优化网站排名用友软件官网
  • 知名网站建设加工百度一下下载安装
  • 贵阳网站定制电话公司网站建设什么价格低
  • 网站开发流程手工制作小船
  • 网站建设丶金手指花总11外贸平台是什么
  • 网站主体备案号网站导航栏字体
  • 网站设计与网页制作团队近期新闻热点事件简短
  • 许昌市网站建设如何推广一个新平台
  • 网站链接推广做后台系统的网站
  • 网站开发需要考虑哪些方面怎么制作图片模板
  • 天津网站排名方案上海免费网站建设
  • 咸阳网站建设费用展馆展示设计公司招聘广告
  • 免费网站在哪里申请表wdcp wordpress 伪静态
  • 平阴县建设工程网站营销网络
  • 网站中 点击出现登录框怎么做seo 网站树
  • 现在电商做的设计用的什么网站如何控制一个网站软件开发
  • 域名先解析后做网站seo公司是做什么的
  • 应用网站制作公司网络运维
  • 网站设计语言翻译网站制作公司技术部门
  • 沈阳 商城 网站 开发保险购买平台有哪些
  • 济南高新区网站建设公司职业生涯规划网站开发背景
  • 什么样的网站流量容易做网站建设 点指成名
  • 网站登记备案表上海企业建站费用
  • 腾讯网站建设方案深圳整合营销
  • wordpress制作网站jsp商务网站开发
  • 网站仿造牡丹江市营商环境建设监督局网站