华为机试 - 判断if语句括号是否匹配

【华为OD机试真题】125、表达式括号匹配 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS) >(1+(2+3)*(3+(8+0))+ 1-2)这是一个简单的数学表达式, 今天不是计算它的值,而是比较它的括号匹配是否正确,前面这个式子可以简化为 (()(())) 这样的括号我们认为它是匹配正确的,而((())这样的我们就说他是错误的,注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用管的,我们只关心括号是否使用正确。 阅读详情

编程的时候,if条件里面的“(”、“)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))是错误的。注意if语句的最外面至少有一对括号。提示:用堆栈来做。

输入:if((a==1)&&(b==1))

输出:RIGTH 3 3

输入:if((a==1))&&(b==1))

输出:WRONG 3 4


#include <iostream>
#include <stack>
#include <string>
using namespace std;



int main()
{
	string ifStatement;
	cin>>ifStatement;
	stack<char> charStack;
	int leftNum=0,rightNum=0;
	for (size_t i=0;i<ifStatement.size();i++)
	{
		if(ifStatement[i]=='('||ifStatement[i]==')')
		{
			if(charStack.empty())
				charStack.push(ifStatement[i]);
			else
			{
				char temp=charStack.top();
				if (temp=='('&&ifStatement[i]==')')
					charStack.pop();
				else
					charStack.push(ifStatement[i]);
			}
			if(ifStatement[i]=='(')leftNum++;
			if(ifStatement[i]==')')rightNum++;
		}
	}
	if(!charStack.empty())
		cout<<"WRONG"<<' ';
	else
		cout<<"RIGHT"<<' ';
	cout<<leftNum<<' '<<rightNum<<endl;
	system("pause");
	return 0;
}

【华为机试真题 Python实现】括号匹配I 《华为机试真题》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!欢迎加微信:Ayemmar 加微信请备注 你的优快云 ID本文解法非最优解(即非性能最优)。编程的时候, if 条件里面的“(”、 “)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行 if 语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如 是正确的,而 是错误的。注意 if 语句的最外面至少有一对括号。提示:用 阅读详情

相关推荐

【华为OD机试真题】71、最大括号深度 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >现有一字符串仅由'(',')','{','}','[',']'六种括号组成 >  若字符串满足以下条件之一,则为无效字符串: >  1、任一类型的左右括号数量不相等 >  2、存在未按正确顺序(先左后右)团合的括号 >  输出括号的最大嵌衰深度,若字符串无效则输出0。 0

KJ.JK 1万+

if语句的常见错误(个人总结)

1.关于if函数的比较,在使用If函数进行数据比较时,常会出现程序正确却无法运行的状况,此时应检查除了作为比较的两个函数外,是否定义了用于比较的函数如max,这是因为id函数的比较本质上是赋值比较,即创立条件将比较数据的值赋值给第三个函数再进行printf操作。2.关于if语句失效的状况。在编写程序时,可能会出现不管输入什么条件if程序都在执行的状况,此时应检查if(。在c语言的程序设计中,系统默认只执行if语句的第一句,所以在如果要在if后执行多步操作可以将执行的多个操作步骤用大括号括起来。

whcwhc111111的博客 1941

华为OD机试题,用 Java 解【括号匹配】问题

给定一个字符串,里边可能包含“()”、“[]”、“{}”三种括号,请编写程序检查该字符串中的括号是否成对出现,且嵌套关系正确。第六步:如果右括号出现,就检查栈顶的元素是否与右括号的匹配,如果匹配就弹出栈顶元素,否则输出 false。第五步:将 values 变量转换为字符数组,然后遍历数组,如果遇到括号,就将其压入栈中。第七步:最后检查栈是否为空,如果为空则说明括号匹配,输出 true,否则输出 false。第三步:将括号的匹配关系存入 charMap 中,并将左右括号存入 charSet 中。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 5681

判断if语句括号是否合法

编程的时候,if条件里面的“(”、“)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))是错误的。注意if语句的最外面至少有一对括号。提示:用堆栈来做。 输入:if((a==1)&&(b==1)) 输出:RIGTH3 3

ZHEN_XIAO123的专栏 2842

【独家】华为OD机试提供C语言题解 - 括号检查

参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。若字符串满足以下条件之一,则为无效字符串。无效字符串存,在未按正确顺序闭合的字符串。无效字符串存,在未按正确顺序闭合的字符串。无效字符串 有两种括号左右数量不相等。👍 阅读完毕,可以点点小手赞一下。🌻 发现错误,直接评论区中指正吧。从订购之日起,案例5年内保证更新。有效字符串最大嵌套深度为 1。有效字符串最大嵌套深度为 3。一个整数 ,最大的括号深度。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 5429

【华为OD机试真题 Java语言】125、表达式括号匹配 | 机试真题+思路参考+代码解析(多用例)

(1+(2+3)*(3+(8+0))+ 1-2)这是一个简单的数学表达式, 今天不是计算它的值,而是比较它的括号匹配是否正确,前面这个式子可以简化为 (()(())) 这样的括号我们认为它是匹配正确的,而((())这样的我们就说他是错误的,注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用管的,我们只关心括号是否使用正确。

KJ.JK 2152

ibatis if条件表达式_宏程序:不同形式程序流程控制的方法,条件式变量知道多少?...

程序流程控制形式有许多种,都是通过判断某个“条件”是否成立来决定程序走向的。所谓“条件”,通常是对变量或变量表达式的值进行大小判断的式子,称为“条件表达式”。华中数控系统有两种流程控制命令:IF——ENDIF,WHILE——ENDW。1.条件分支 IF 需要选择性地执行程序,就要用IF命令。格式1:(条件成立则执行)IF 条件表达式条件成立执行的语句组ENDIF功能:条件成立执行IF与ENDIF之...

weixin_31862047的博客 1810

【华为OD机试真题】124、括号匹配 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,里边可能包含"()"、"[]"、 "{}"三种括号,请编写程序检查该字符串中的括号是否成对出现,且嵌套关系正确。 >  若括号成对出现且嵌套关系正确,或该字符串中无括号字符,输出:true; 若未正确使用括号字符,输出:false。

KJ.JK 9430

C语言新手必看:分号漏写、括号不匹配?10分钟掌握语法细节自查表

对于 C 语言新手而言,在编写代码的过程中,常常会被一些看似微不足道却又极其恼人的语法错误所困扰,例如分号漏写、括号不匹配等。这些错误不仅会导致程序无法正常编译运行,还会耗费大量的时间去排查。本文将为新手们提供一份详细的语法细节自查表,帮助大家在 10 分钟内掌握常见语法错误的自查方法,快速提升代码质量和编程效率。

星辰夜语的博客 1189

【华为OD机试真题 Golang语言】125、表达式括号匹配 | 机试真题+思路参考+代码解析

>(1+(2+3)*(3+(8+0))+ 1-2)这是一个简单的数学表达式, 今天不是计算它的值,而是比较它的括号匹配是否正确,前面这个式子可以简化为 (()(())) 这样的括号我们认为它是匹配正确的,而((())这样的我们就说他是错误的,注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用管的,我们只关心括号是否使用正确。

KJ.JK 1万+

【华为机试真题 Python实现】表达式括号匹配

《华为机试真题》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!欢迎加微信:Ayemmar 加微信请备注 你的优快云 ID本文解法非最优解(即非性能最优)。(1+(2+3)*(3+(8+0))+1-2)这是一个简单的数学表达式,今天不是计算它的值,而是比较它的括号匹配是否正确。前面这个式子可以简化为(()(()))这样的括号我们认为它是匹配正确的,而((())这样的我们就说他是错误的。注意括号里面的表达式可能是

1492

【C语言】一篇文章学会使用if语句

由于a是输入的原始数据,不存在计算误差,因此a与0比较也可用a==0代替。但disc是经过计算得出的浮点数,而绝大多数计算机中表示的浮点数都只是它们在数学上表示的数据的近似值,因此disc与0的比较不能用disc==0来代替,必须用fabs(disc)

ERTER5的博客 8519

【华为OD机试真题 Java语言】124、括号匹配 | 机试真题+思路参考+代码解析

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

KJ.JK 2164

华为机试—if语句是否合法

编程的时候,if条件里面的“(”、“)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))是错误的。注意if语句的最外面至少有一对括号。 输入:if((a==1)&&(b==1)) 输出:RIGTH 3 3

小地盘的诺克萨斯 2419

【华为OD机试真题】125、表达式括号匹配 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >(1+(2+3)*(3+(8+0))+ 1-2)这是一个简单的数学表达式, 今天不是计算它的值,而是比较它的括号匹配是否正确,前面这个式子可以简化为 (()(())) 这样的括号我们认为它是匹配正确的,而((())这样的我们就说他是错误的,注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用管的,我们只关心括号是否使用正确。

KJ.JK 1万+

【华为OD机试真题 Python语言】71、最大括号深度 | 机试真题+思路参考+代码解析

现有一字符串仅由'(',')','{','}','[',']'六种括号组成 >  若字符串满足以下条件之一,则为无效字符串: >  1、任一类型的左右括号数量不相等 >  2、存在未按正确顺序(先左后右)团合的括号 >  输出括号的最大嵌衰深度,若字符串无效则输出0。 0

KJ.JK 1万+

华为机试—括号匹配判断[去多余括号]

问题描述: 检查字符串表达式中的括号是否匹配; 左括号数目同有括号数目不相等即为不匹配; 去除多余的左括号或者右括号,优先保留先出现的括号; 匹配后去除无效的括号:如:((表达式)) 应为(表达式); 只考虑小括号,不考虑先出现右括号的情况; 要求实现函数: (字符串最长长度为60;表达式正确性不需要考虑) void Bracket(char* src, char* ds

小地盘的诺克萨斯 3102

开源分享:苹果群控手机源代码解析与实战

本文介绍了苹果设备群控的基本原理和实现方法,重点解析了基于Python+Appium的群控系统构建。主要内容包括:1)设备连接管理技术(USB/Wi-Fi);2)自动化控制方式(WDA/AppleScript/Appium);3)实战演示了通过Python脚本实现多设备同时控制,涵盖环境配置、代码解析和功能说明;4)提出了多线程、图像识别等优化方向。文章为开发者提供了快速上手的群控方案,适用于自动化测试、批量管理等场景,并推荐了相关开源项目参考。

2403_88540309的博客 1344

华为2014机考题目_判断if括号匹配是否合法_堆栈_简单的方法- -

/******************************************************** Copyright (c) 2013, binzhouweichao@163.com *********************************************************/ /*==================================

binzhouweichao@163.com 2467

测站坐标系、地心非惯性系、经纬高互转

目录 一、经纬高转直角坐标系互转 1.1 python代码 二、wgs84转cgcs2000的转换矩阵如下 虽然cgcs2000与wgs84差别很小,但是我比较较真,还是做了两个坐标系的转换。 一、经纬高转直角坐标系互转 此处可参考链接(百度文库用手机浏览器可以打开看全部的): (1)第四章地球椭球及其数学详解 (2)第四章椭球数学变换16节 (3)大地测量学基础[1](7)(控制) 转换公式如下: LBH转XYZ: a为半长轴,e为偏心率 XYZ转LBH: a为半长轴

${王小贱}的博客 2万+

【CVPR2025 DEIM】超详细!手把手训练自己的数据集教学:从源码下载,配置虚拟环境,准备数据集、训练、验证、推理测试 ,实现0到1的完整教学过程。本文在win系统上训练,最强实时目标检测算法!

本文详细介绍了CVPR2025 DEIM目标检测模型的完整使用流程。内容包含:1)源码下载与虚拟环境配置;2)Visdrone2019数据集准备与配置文件修改;3)训练参数设置及Windows系统常见问题解决方案;4)模型验证、推理测试及热力图生成方法。特别针对Windows用户提供了虚拟环境配置指导,并详细说明了数据集路径设置、参数调整等关键步骤。通过本文的指导,小伙伴可以快速掌握DEIM模型的使用方法,用于学术论文研究和实验分析。

Ai缝合怪、助力小伙伴高效发论文 7648
上一篇: 华为机试 - 身高差最小身高
下一篇: 华为机试 - 将整数倒序输出,剔除重复数据
JerkWisdom
博客等级 码龄14年 70粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值