尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

算法讲解15:栈

算法讲解15:栈
📅 发布时间:2026/6/19 2:36:30

栈:先进后出

公式:卡特兰数:n个不同的元素按照某个顺序入栈,对应的合法的出栈顺序有几个?公式如下:

C n

__2n______

n+1

题目:

给出两个序列pushed和poped两个序列,其取值从1到n(n ≤ 100000)。已知入栈序列是pushed,如果出栈序列有可能是poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据,不超过5组。

输入格式

第一行一个整数q,询问次数。
接下来q个询问,对于每个询问:

- 第一行一个整数n表示序列长度;

- 第二行n个整数表示入栈序列;

- 第三行n个整数表示出栈序列;

输出格式

对于每个询问输出答案。

答案:

package 博客;

import java.util.*;

public class 栈 {
static int a[]=new int[10005];//入栈的数组
static int b[]=new int[10005];//出栈的数组
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int q = sc.nextInt();
while(q>0){
int n=sc.nextInt();
for(int i=1;i<=n;i++){
a[i]= sc.nextInt();
}
for(int i=1;i<=n;i++){
b[i]= sc.nextInt();
}
Stack<Integer> c = new Stack<>();

int j=1;
for(int l=1;l<=n;l++)
{
c.push(a[l]);
while(!c.isEmpty() && c.peek()==b[j]){
c.pop();
j++;
}
}
if(c.isEmpty()){
System.out.println("YES");
}
else{
System.out.println("NO");
}


q--;
}

}
}

队列:一般没有单独出题,例如bfs就需要队列辅助实现

定义栈

Stack<Integer> c =newStack<>();

c.push();//出栈

c.pop();//入栈

c.peek();//确认栈顶元素,不干别的

对于队列:

LinkedList<Integer> queue =newLinkedList<>();//初始化

queue.offer();//入队

queue.poll();//出队

queue.peek();//(查看队首)

相关新闻

  • 企业AI智能体官网:创新性、响应及时性与成本降低的综合考量
  • AI搜索优化公司排行及推荐:南方网通脱颖而出
  • Java毕设项目:基于协同过滤算法的动漫推荐系统(源码+文档,讲解、调试运行,定制等)

最新新闻

  • Steamless深度解析:模块化DRM移除工具的实现原理与架构设计
  • 2026年近期,中山企业如何精准选择实力旋盖机订购厂家? - 品牌鉴赏官2026
  • WoeUSB-ng终极指南:在Linux系统轻松制作Windows启动盘的完整教程
  • 探寻2026年中浙江专业的流水线包装机企业:技术驱动与高效交付 - 品牌鉴赏官2026
  • 电脑监控软件都有哪些好用的?推荐6款好用的监控管理电脑软件
  • 码力全开特辑直播预告|6月22日19:00,告别无从下手:拆解开源Cube算子,快速掌握开发要领

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号