news 2026/4/14 21:24:39

算法讲解15:栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法讲解15:栈

栈:先进后出

公式:卡特兰数: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();//(查看队首)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 11:12:29

Java计算机毕设之基于Springboot+Vue动漫推荐平台管理系统基于协同过滤算法的动漫推荐系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/14 12:16:23

[驱动之路(九)——UART(串口)子系统]学习总结,万字长篇,一文彻底搞懂UART(串口)子系统(含串口数据收发流程解析)

一、UART是什么&#xff1f;UART&#xff08;通用异步收发传输器&#xff09;是一种异步串行通信接口&#xff0c;常用于嵌入式系统和计算机之间传输数据。 它结构简单、稳定可靠&#xff0c;是嵌入式开发中最重要的调试和外接模块的接口之一。串口的主要用途&#xff1a;打印调…

作者头像 李华
网站建设 2026/4/14 2:37:50

Windows系统文件usbperf.dll丢失损坏问题 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/3/30 20:50:06

城市仿真软件:CityEngine_(6).城市模型的设计与创建

城市模型的设计与创建 在城市仿真软件中&#xff0c;城市模型的设计与创建是核心环节之一。通过设计和创建城市模型&#xff0c;可以模拟现实世界中的城市形态、交通流、建筑布局等&#xff0c;为城市规划、交通分析、环境评估等提供强大的支持。本节将详细介绍如何在CityEngin…

作者头像 李华
网站建设 2026/4/14 3:42:41

城市仿真软件:CityEngine_(6).使用CityEngine进行城市设计

使用CityEngine进行城市设计 1. 城市设计基础 在使用CityEngine进行城市设计之前&#xff0c;我们需要理解一些基本的城市设计概念和原则。城市设计不仅仅是创建美观的建筑和街道&#xff0c;而是要综合考虑城市的布局、功能、交通、环境等多个方面。CityEngine提供了一系列工具…

作者头像 李华
网站建设 2026/4/8 22:22:25

城市仿真软件:CityEngine_(8).建筑生成与编辑

建筑生成与编辑 在城市仿真软件中&#xff0c;建筑生成与编辑是核心功能之一。CityEngine 提供了强大的工具&#xff0c;让用户能够从简单的规则和数据中生成复杂的建筑模型&#xff0c;并对其进行编辑和优化。本节将详细介绍如何使用 CityEngine 进行建筑生成与编辑&#xff0…

作者头像 李华