news 2026/7/27 11:18:15

算法讲解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/7/20 17:17:14

【课程设计/毕业设计】基于springboot的旅游网站系统的设计与实现基于springboot的旅游管理系统,在线旅游管理系统【附源码、数据库、万字文档】

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

作者头像 李华
网站建设 2026/7/24 12:49:10

城市仿真软件:CityEngine_(10).建筑物与环境细节优化

建筑物与环境细节优化 在城市仿真软件中&#xff0c;建筑物与环境的细节优化是至关重要的一步&#xff0c;它直接影响到最终场景的真实感和用户体验。本节将详细介绍如何在CityEngine中进行建筑物与环境的细节优化&#xff0c;包括纹理优化、模型优化、光照优化以及环境效果的添…

作者头像 李华
网站建设 2026/7/23 10:04:58

城市仿真软件:CityEngine_(11).城市仿真案例分析

城市仿真案例分析 在前一节中&#xff0c;我们介绍了CityEngine的基本功能和使用方法。接下来&#xff0c;我们将通过具体的案例分析&#xff0c;进一步探讨如何利用CityEngine进行城市仿真。本节将涵盖以下几个方面&#xff1a;案例背景介绍数据准备模型构建规则文件编写仿真运…

作者头像 李华
网站建设 2026/7/23 17:50:54

Python RPA解放Excel生产力

一、环境准备&#xff1a;3行代码搭建自动化工具箱1. 核心库安装必装3件套&#xff1a;pandas&#xff1a;数据处理“瑞士军刀”&#xff0c;1行代码完成数据清洗&#xff1b;openpyxl&#xff1a;轻量级Excel写入工具&#xff0c;适合生成基础报表&#xff1b;xlwings&#xf…

作者头像 李华
网站建设 2026/7/26 14:15:09

Java毕设选题推荐:基于springboot的物流管理系统基于Springboot+Vue智能物流管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华