华为OD机试 -括号匹配(Java) | 机试题+算法思路+考点+代码解析 【2023】

news/2024/5/19 8:26:09 标签: java, 华为, 算法, od, 数据结构

括号匹配

题目

给定一个字符串,里边可能包含“()”、“[]”、“{}”三种括号,请编写程序检查该字符串中的括号是否成对出现,且嵌套关系正确。若括号成对出现且嵌套关系正确,或该字符串中无括号字符,输出:true;若未正确使用括号字符,输出:false。 实现时,无需考虑非法输入。

输入描述:

包含括号的算数表达式。

输出描述:

括号是否匹配

示例1

输入

ode>(1+2)/(0.5+1)
ode>

输出

ode>true
ode>

解题思路

实现如下:

第一步:使用Scanner类从控制台输入一行字符串,并将其存储在values变量中。

第二步:创建HashMap和HashSet用于存储括号的匹配关系。

第三步:将括号的匹配关系存入charMap中,并将左右括号存入charSet中。

第四步:创建一个Stack对象,用于存储左括号。

第五步:将values变量转换为字符数组,然后遍历数组,如果遇到括号,就将其压入栈中。

第六步:如果右括号出现,就检查栈顶的元素是否与右括号的匹配,如果匹配就弹出栈顶元素,否则输出false。

第七步:最后检查栈是否为空,如果为空则说明括号匹配,输出true


http://www.niftyadmin.cn/n/148110.html

相关文章

数据可视化的历史

数据可视化的历史 可视化发展史与测量、绘画、人类现代文明的启蒙和科技的发展一脉相承。在地图、科学与工程制图、统计图表中,可视化理念与技术已经应用和发展了数百年。 17世纪之前:图表萌芽 16世纪时,人类已经掌握了精确的观测技术和设…

实验3:第 K 大元素(分冶法)

三、实验结果记录和分析(测试向量上的测试结果、运行时间) 固定pivot选择算法和随机pivot选择算法结果均和数据生成时给出的label.txt对比结果全部正确。 固定pivot选择的算法 各组数据运行时间统计如下 2. 对同一规模数据运行时间取均值结果如下 3. …

浅谈:服务架构进化论

1、原始分布式时代 一直以来,我可能和大多数的人认知一样,认为我们的服务架构的源头是单体架构,其实不然,早在单体系统盛行之前,我们的前辈们就已经探索过使用多个独立的分布式服务共同完成一个大型的系统的实现方案。…

RocketMQ-发送消息

源码版本号:版本号:4.9.4 启动流程 生成 MQClientInstance将当前生产者注册到MQClientInstance的producerTable中启动MQClientInstance给broker发送心跳信息 启动生产者 public class Producer {public static void main(String[] args) throws Exception {DefaultMQProduc…

6个小技巧让你的旅游短视频画质更加清晰!

在视频编辑和后期制作中,可能需要对画面进行剪辑、调色、修复等操作,使用视频画质修复技术可以提高画面质量,使得最终的视频效果更加高清,质量更好。随着生活质量的提高,人们越来越喜欢拍摄短视频来记录旅行中的美好瞬…

JavaScript异步机制——Event-Loop

文章目录函数调用栈和消息队列Event-Loop一道Event-Loop题目图解 Event-Loop 渲染机制DOM渲染时机总结函数调用栈和消息队列 函数调用栈 我们知道,js是单线程的,也就是说只有一个线程在执行js的代码。当引擎第一次遇到 JS 代码时,会产生一个…

【Java版oj】day08两种排序方法、最小公倍数

目录 一、两种排序方法 (1)原题再现 (2)问题分析 (3)完整代码 二、最小公倍数 (1)原题再现 (2)问题分析 (3)完整代码 一、两种…

Java之深度优先(DFS)和广度优先(BFS)及相关题目

目录 一.深度优先遍历和广度优先遍历 1.深度优先遍历 2.广度优先遍历 二.图像渲染 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 三.岛屿的最大面积 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 四.岛屿的周长 1.题目描…