小蓝的括号串1(栈,蓝桥云课)

问题描述

小蓝有一个长度为 nn 的括号串,括号串仅由字符 ( 、 ) 构成,请你帮他判断一下该括号串是否合法,合法请输出 Yes ,反之输出 No 。

合法括号序列:

  1. 空串是合法括号序列。

  2. 若 ss 是合法括号序列,则 ( ss ) 也是合法括号序列。

  3. 若 s,ts,t 都是合法括号序列,则 stst 也是合法括号序列。

例如 ()() , (()) , (())() 均为合法括号序列。

输入格式

第一行包含一个正整数 nn ,表示括号串的长度。

第二行包含一个长度为 nn 的括号串。

输出格式

输出共 11 行,若括号串合法请输出 Yes ,反之输出 No 。

样例输入1

10
(()(()))()

样例输出1

Yes

样例输入2

5
()()(

样例输出2

No
import java.util.Scanner;
import java.util.Stack;public class TheKHOfXiaoLan {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt(); // 读取输入的字符数量scanner.nextLine(); // 消耗换行符String input = scanner.nextLine(); // 读取整行输入if (fun(input)) {System.out.println("Yes");} else {System.out.println("No");}}public static boolean fun(String input) {Stack<Character> stack = new Stack<>();for (char ch : input.toCharArray()) {if (ch == '(') {stack.push(ch); // 遇到左括号,入栈} else if (ch == ')') {if (stack.isEmpty() || stack.pop() != '(') {// 如果栈为空或栈顶不是左括号,说明不匹配return false;}}}// 如果栈为空,说明所有括号都匹配return stack.isEmpty();}
}

 

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

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

相关文章

Centos7配置本地yum源

Centos7配置本地yum源 1、基于iso镜像的centos源 1.1 准备iso <span style"color:#000000"><span style"background-color:#ffffff"><code class"language-bash"><span style"color:#008000"># 首先看自己使用…

VNA操作使用学习-14 再测晶振特性

再测一下4Mhz晶振&#xff0c;看看特性曲线&#xff0c;熟悉一下vna使用。 s11模式&#xff0c;找遍了各种format都无法显示&#xff0c;只有这一种&#xff08;s11&#xff0c;Resistance&#xff09;稍微显示出一个谐振&#xff0c;但是只有一个点。 s21模式 这是201p&#…

Tr0ll2靶机详解

一、主机发现 arp-scan -l靶机ip&#xff1a;192.168.55.164 二、端口扫描、漏洞扫描、目录枚举、指纹识别 2.1端口扫描 nmap --min-rate 10000 -p- 192.168.55.164发现21端口的ftp服务开启 以UDP协议进行扫描 使用参数-sU进行UDP扫描 nmap -sU --min-rate 10000 -p- 19…

基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手

基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手 一、准备工作&#xff1a;组装你的"数码工具箱" 1. 安装基础工具&#xff08;Python环境&#xff09; 操作步骤&#xff1a; 访问Python官网下载安装包安装时务必勾选Add Python to…

GitHub 超火的开源终端工具——Warp

Warp 作为近年来 GitHub 上备受瞩目的开源终端工具&#xff0c;以其智能化、高性能和协作能力重新定义了命令行操作体验。以下从多个维度深入解析其核心特性、技术架构、用户评价及生态影响力&#xff1a; 一、背景与核心团队 Warp 由前 GitHub CTO Jason Warner 和 Google 前…

使用C#创建安装Windows服务程序

在实际工作中&#xff0c;如果我们需要开发一个运行在后台&#xff0c;无需用户交互&#xff0c;不需要界面的应用程序&#xff0c;我们可以通过Windows服务来实现。 本文主要介绍如何基于C#创建一个Windows服务&#xff0c;来实现西门子PLC的定时读取保存。 一、Windows服务…

docker、docker-compose常用命令

初学者使用的docker、docker-compose常用命令&#xff0c;日常练习&#xff0c;环境简单搭建。 一、docker 1.1、安装docker 1.1.1、yum安装 #安装docker的数据存储驱动包 yum install -y yum-utils device-mapper-persistent-data lvm2 #设置新的安装源、下载配置文件到…

阿里的MNN源码如何编译成so文件,供Android调用

在Ubtuntu下面的编译&#xff0c;先整理编译环境 1、安装环境依赖 # 安装必要工具 sudo apt update sudo apt install -y cmake ninja-build git wget # 安装Android NDK&#xff08;建议使用r21版本或更高&#xff09; wget https://dl.google.com/android/repository/a…

吴恩达机器学习笔记复盘(六)梯度下降算法

简介 梯度下降&#xff08;Gradient Descent&#xff09;是一种常用的优化算法&#xff0c;广泛应用于机器学习、深度学习等领域&#xff0c;在这里是用于求J&#xff08;w,b&#xff09;局部最小值。 我自己觉得这样说有点过于抽象。换个直观点的说法就是&#xff0c;一个人…

使用JAVA-进行维吉尼亚密码的解密与加密

维吉尼亚密码 来源于百度百科 维吉尼亚密码_百度百科 具体代码 import java.util.*;public class WJMYmm {//常量 26public static final int N 26;//密码public static void main(String[] args) {//字母String ZM"abcdefghijklmnopqrstuvwxyz";char[] zm ZM.…

Java DelayQueue 延迟队列

Java DelayQueue 延迟队列 1. DelayQueue 概述 DelayQueue 是 Java 并发包&#xff08;java.util.concurrent&#xff09;中的一个 无界 阻塞队列&#xff0c;用于存储实现了 Delayed 接口的元素。队列中的元素只有在达到指定的延迟时间后才能被获取。 2. DelayQueue 的底层…

LeetCode 解题思路 22(Hot 100)

解题思路&#xff1a; 递归思路&#xff1a; 传入当前节点的最小值和最大值&#xff0c;递归判断左右子树。结束条件&#xff1a; 当前节点为空或不满足二叉搜索树。 Java代码&#xff1a; class Solution {public boolean isValidBST(TreeNode root) {return isValidBST(ro…

乐享数科:政策助推假日经济,2月普惠金融-景气指数稳中有升

数据显示&#xff0c;2025年2月普惠金融-景气指数达48.99点&#xff0c;较1月上升0.03点。 企业运行持续向好&#xff0c;企业信心预期和经营活力回升。“假日经济”与“政策效应”相互叠加&#xff0c;市场供求格局有所改善&#xff0c;景气水平稳步恢复。 普惠金融-景气指数…

leetcode日记(108)验证回文串

看上去很简单&#xff0c;其实很麻烦。 一开始写的递归&#xff0c;但是内存超限……搜了下发现原因是每次递归调用都会创建一个新的字符串副本&#xff0c;这在处理长字符串时会占用大量内存。 class Solution { public:bool isPalindrome(string s) {if(s.size()0||s.size(…

用css绘制收银键盘

最近需求说需要自己弄个收银键盘&#xff0c;于是乎直接上手搓 主要基于Vue3写的&#xff0c;主要是CSS <template><view class"container"><view class"info"><image class"img" src"" mode"">&l…

智能车间管理系统(源码+文档+讲解+演示)

引言 在现代制造业中&#xff0c;智能车间管理系统正成为推动工业4.0和智能制造的关键力量。它通过整合先进的信息技术和自动化技术&#xff0c;优化生产流程&#xff0c;提高生产效率&#xff0c;降低成本&#xff0c;并确保产品质量。 系统概述 智能车间管理系统采用前后端…

Model Context Protocol - Prompts

1. 概述 Model Context Protocol (MCP) 提供了一种标准化的方式&#xff0c;使服务器能够向客户端暴露提示模板&#xff08;prompts&#xff09;。Prompts 是服务器提供的结构化消息和指令&#xff0c;用于与语言模型进行交互。客户端可以发现可用的提示、获取其内容&#xff…

办公自动化:使用 Python 生成 Word 文件:自动生成数据库文档 Word 文件

简简单单 Online zuozuo :本心、输入输出、结果 文章目录 办公自动化:使用 Python 生成 Word 文件:自动生成数据库文档 Word 文件前言一、环境准备二、编写代码三、编写 Word 模版文件接收数据四、运行代码,生成文件,大功告成五、说明办公自动化:使用 Python 生成 Word 文…

嵌入式GPRS协议面试题及参考答案

目录 GPRS 的全称是什么?简述其核心设计目标。 GPRS 中 DNS 服务器的核心作用是什么? BTS 在 EDGE 升级时需要哪些硬件调整? GPRS 的时隙分配策略如何影响多用户并发? 解释 PDCH(分组数据信道)的动态分配机制。 如何判断天馈接反或鸳鸯线问题? GPRS 的 RLC/MAC 层…

Docker 内部通信(网络)

1. 创建自定义桥接网络 首先&#xff0c;创建一个自定义的Docker网络。这可以通过docker network create命令完成。例如&#xff0c;我们可以创建一个名为my_custom_network的网络&#xff1a; docker network create --driver bridge my_custom_network2. 启动容器并连接到自…