如何做网站二维码/百度爱采购官网首页

如何做网站二维码,百度爱采购官网首页,wordpress foreign trade,做党政板报的网站目录 一、栈的概念 二、栈的基本方法 三、栈的模拟实现 四、栈的练习 1、括号匹配 2、出栈入栈次序匹配 一、栈的概念 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底…

目录

一、栈的概念

二、栈的基本方法

三、栈的模拟实现 

四、栈的练习

1、括号匹配  

 2、出栈入栈次序匹配


一、栈的概念

栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。其特点是数据元素先进后出(先入栈的元素后出栈)

 入栈与出栈:

入栈:栈的插入操作叫做进栈/压栈/入栈。入数据在栈顶。

出栈:栈的删除操作叫做出栈。出数据在栈顶。

还不太理解的小伙伴可以看看以下图示:

 

 

二、栈的基本方法

 栈的基本方法有:push()(入栈)、pop()(出栈)、peek()(获取栈顶元素,不删除)、empty()(判断栈是否为空)

三、栈的模拟实现 

 以下的代码我们默认数据元素是整型。

import java.util.Arrays;public class MyStack {public int[] elem;//存放数据的数组public int usedSize;//当前数据的个数public MyStack() {elem=new int[10];}//入栈public void push(int val){if(isFull()){//满了就扩容elem= Arrays.copyOf(elem,elem.length*2);}elem[usedSize]=val;usedSize++;}//判断栈是否满了private boolean isFull(){return elem.length==usedSize;}//出栈public int pop(){if(isEmpty()){return -1;}int getVal=elem[usedSize-1];usedSize--;return getVal;}//判断栈是否为空public boolean isEmpty(){return usedSize==0;}//获取栈顶元素,不删除public int peek(){if(isEmpty()){return -1;}return elem[usedSize-1];}
}

四、栈的练习

1、括号匹配  

 20. 有效的括号 - 力扣(LeetCode)

题目要求如下: 

 

 解题思路:先创建一个字符类型的栈,再遍历字符串,如果是左括号就入栈,如果是右括号,就看是否与栈顶元素匹配,不匹配返回false,遍历结束后看栈是否为空,不为空则返回false(这是为了防止类似于"(((("的情况出现)。

class Solution {public boolean isValid(String s) {Stack<Character> stack=new Stack<>();//创建一个字符类型的栈for(int i=0;i<s.length();i++){char ch=s.charAt(i);//获取i下标字符if(ch=='('||ch=='{'||ch=='['){//如果是左符号,入栈stack.push(ch);}else{if(stack.empty()){//判断栈是否为空,为空则返回falsereturn false;}char loop=stack.peek();//判断左右是否匹配,若不匹配则返回false,否则栈顶元素出栈if(loop=='('&&ch==')'||loop=='['&&ch==']'||loop=='{'&&ch=='}'){stack.pop();}else{return false;}}}//遍历结束后看栈是否为空,不为空则返回false(这是为了防止类似于"(((("的情况出现)if(!stack.empty()){return false;}return true;}
}

 2、出栈入栈次序匹配

栈的压入、弹出序列_牛客题霸_牛客网

题目要求如下: 

 

解题思路:创建一个整型栈,遍历pushV,对每个元素进行入栈操作,再创建一个循环,判断该元素是否与popV[j]相等,若相等则出栈,移动j下标,当遍历完pushV后,若栈空,则匹配,反之不匹配。

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param pushV int整型一维数组 * @param popV int整型一维数组 * @return bool布尔型*/public boolean IsPopOrder (int[] pushV, int[] popV) {// write code hereStack<Integer> stack=new Stack<>();//创建一个整型栈int j=0;for(int i=0;i<pushV.length;i++){//遍历pushVstack.push(pushV[i]);//入栈//如果栈顶元素与popV[j]相等,出栈,移动j下标while(j<popV.length&&!stack.empty()&&popV[j]==stack.peek()){stack.pop();j++;}}return stack.empty();}
}

以上便是本篇文章的全部内容,感谢各位看官支持~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从CNN到Transformer:遥感影像目标检测的未来趋势

文章目录 前言专题一、深度卷积网络知识专题二、PyTorch应用与实践&#xff08;遥感图像场景分类&#xff09;专题三、卷积神经网络实践与遥感影像目标检测专题四、卷积神经网络的遥感影像目标检测任务案例【FasterRCNN】专题五、Transformer与遥感影像目标检测专题六、Transfo…

php-fpm

摘要 php-fpm(fastcgi process manager)是PHP 的FastCGI管理器&#xff0c;管理PHP的FastCGI进程&#xff0c;提升PHP应用的性能和稳定性 php-fpm是一个高性能的php FastCGI管理器&#xff0c;提供了更好的php进程管理方式&#xff0c;可以有效的控制内存和进程&#xff0c;支…

open webui 部署 以及解决,首屏加载缓慢,nginx反向代理访问404,WebSocket后端服务器链接失败等问题

项目地址&#xff1a;GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 选择了docker部署 如果 Ollama 在您的计算机上&#xff0c;请使用以下命令 docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gatewa…

VMware安装Centos 9虚拟机+设置共享文件夹+远程登录

一、安装背景 工作需要安装一台CentOS-Stream-9的机器环境&#xff0c;所以一开始的安装准备工作有&#xff1a; vmware版本&#xff1a;VMware Workstation 16 镜像版本&#xff1a;CentOS-Stream-9-latest-x86_64-dvd1.iso &#xff08;kernel-5.14.0&#xff09; …

欧洲跨境组网专线:企业出海的高效网络解决方案

在全球化的背景下&#xff0c;越来越多的企业将业务拓展至海外市场&#xff0c;并在欧洲等地设立分支机构。然而&#xff0c;跨境办公中常常面临公网网络延迟高、打开速度慢、丢包严重等问题&#xff0c;这不仅影响办公效率&#xff0c;还增加了IT维护的难度和成本。针对这一痛…

面阵工业相机提高餐饮业生产效率

餐饮行业是一个快节奏、高要求的领域&#xff0c;该领域对生产过程中每一个阶段的效率和准确性都有很高的要求。在食品加工、包装、质量控制和库存管理等不同生产阶段实现生产效率的优化是取得成功的关键步骤。面阵工业相机能够一次性捕捉对象的二维区域图像&#xff0c;并支持…

Renesas RH850 IAR编译时变量分配特定内存

文章目录 1. 核心作用2. 典型使用场景3. 示例代码4. 编译器与链接脚本协作5. 注意事项6. 调试验证在RH850系列微控制器的开发中,#pragma location = "FIRST_RAM" 是一条编译器指令,其核心含义是 将变量或函数分配到名为 FIRST_RAM 的特定内存段。以下是详细解释: …

C++面试题,进程和线程方面(1)

文章目录 前言进程和线程有什么不同进程&#xff0c;线程的通讯方式什么是锁为什么说锁可以使线程安全加锁有什么副作用总结 前言 这是个人总结进程和线程方面的面试题。如果有错&#xff0c;欢迎佬们前来指导&#xff01;&#xff01;&#xff01; 进程和线程有什么不同 进程…

Unity摄像机与灯光相关知识

一、Inspector窗口 Inspector窗口可以查看和编辑对象的属性以及设置 其中包含各种组件&#xff0c;例如用Cube对象来举例 1.Sphere(Mesh)组件&#xff1a; 用来决定对象的网格属性&#xff0c;例如球体网格为Sphere、立方体网格为Cube 2.Mesh Renderer组件&#xff1a; 用来设置…

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示&#xff1a; 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台&#xff0c;所以对信息的安全和稳定要求非常高。为了解决本问题&#xff0c;采用前端…

Windows 快速搭建C++开发环境,安装C++、CMake、QT、Visual Studio、Setup Factory

安装C 简介 Windows 版的 GCC 有三个选择&#xff1a; CygwinMinGWmingw-w64 Cygwin、MinGW 和 mingw-w64 都是在 Windows 操作系统上运行的工具集&#xff0c;用于在 Windows 环境下进行开发和编译。 Cygwin 是一个在 Windows 上运行的开源项目&#xff0c;旨在提供类Uni…

MKS SERVO42E57E 闭环步进电机_系列10 STM32_脉冲和串口例程

文章目录 第1部分 产品介绍第2部分 相关资料下载2.1 MKS E系列闭环步进驱动资料2.2 源代码下载2.3 上位机下载 第3部分 脉冲控制电机运行示例第4部分 读取参数示例4.1 读取电机实时位置4.2 读取电机实时转速4.3 读取电机输入脉冲数4.4 读取电机位置误差4.5 读取电机IO端口状态 …

vue从入门到精通(十一):条件渲染

条件渲染 1.v-if 写法: (1).v-if“表达式” (2).v-else-if“表达式” (3).v-else“表达式” 适用于:切换频率较低的场景。 特点:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用&#xff0c;但要求结构不能被“打断” 2.v-show 写法:v-show“…

Python爬虫基础文件操作

文件操作 引言 爬虫爬取的一切内容都是在内存进行的&#xff0c;这样会有什么问题吗&#xff1f;如果一旦短电或着发生意外电脑关机了那么你的工作成果将瞬间消失。所以&#xff0c;我们还缺少数据在本地文件系统进行持久化的能力&#xff0c;简单的来说就是文件读写操作。文…

OpenCV中的边缘检测

边缘检测是图像处理和计算机视觉中的关键技术之一&#xff0c;旨在识别图像中像素强度发生显著变化的区域&#xff0c;这些区域通常对应于物体的边界或轮廓。边缘检测在机器视觉中具有重要的需求背景&#xff0c;主要体现在以下几个方面&#xff1a; 图像分割&#xff1a;边缘…

【简历优化】性能调优 — 编程性能调优篇

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解【简历优化】性能调优 — 编程性能调优篇&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; 目录 一、编程性能调优字符串String 发展优…

RNN中远距离时间步梯度消失问题及解决办法

RNN中远距离时间步梯度消失问题及解决办法 RNN 远距离时间步梯度消失问题LSTM如何解决远距离时间步梯度消失问题 RNN 远距离时间步梯度消失问题 经典的RNN结构如下图所示&#xff1a; 假设我们的时间序列只有三段&#xff0c; S 0 S_{0} S0​ 为给定值&#xff0c;神经元没有…

Tomcat理论(Ⅰ)

目录 服务器流程图一览 一、JavaWeb前奏(了解) 1. C/S结构 2. B/S结构 3. 静态网页&动态网页 4.常见的网页 5.Web服务器 知名服务器&#xff1a; ​编辑 二、Tomcat安装&#xff08;熟练&#xff09; 1.Tomcat概述 2.Tomcat的作用 3.Tomcat安装 4.Tomcat测试 3.…

如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案

开源大型语言模型&#xff08;LLMs&#xff09;的兴起使得创建 AI 驱动的工具比以往任何时候都更容易&#xff0c;这些工具可以与 OpenAI 的 ChatGPT Operator 等专有解决方案相媲美。在这些开源模型中&#xff0c;DeepSeek R1 以其强大的推理能力、自由的可访问性和适应性而脱…

使用Docker Desktop部署GitLab

1. 环境准备 确保Windows 10/11系统支持虚拟化技术&#xff08;需在BIOS中开启Intel VT-x/AMD-V&#xff09;内存建议≥8GB&#xff0c;存储空间≥100GB 2. 安装Docker Desktop 访问Docker官网下载安装包安装时勾选"Use WSL 2 instead of Hyper-V"&#xff08;推荐…