首页 > Python资料 博客日记
华为OD机试C卷-- 表达式括号匹配(Java & JS & Python & C)
2024-05-28 19:00:05Python资料围观140次
文章华为OD机试C卷-- 表达式括号匹配(Java & JS & Python & C)分享给大家,欢迎收藏Python资料网,专注分享技术知识
获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
(1+(2+3)*(3+(8+0))+1-2)这是一个简单的数学表达式,今天不是计算它的值,而是比较它的括号匹配是否正确。
前面这个式子可以简化为(()(()))这样的括号我们认为它是匹配正确的,
而((())这样的我们就说他是错误的。注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用去管的,
我们只关心括号是否使用正确。
输入描述
给出一行表达式(长度不超过 100)。
输出描述
如果匹配正确输出括号的对数,否则输出-1。
题目解析
这个问题是一个经典的栈应用问题,用于检查括号是否匹配。我们可以遍历整个表达式,每当遇到左括号时,就将一个占位符(例如 ‘(’)压入栈中;当遇到右括号时,检查栈顶元素是否为对应的左括号。如果是,则将栈顶元素弹出;如果不是或栈为空,则说明括号不匹配。
在这个问题中,我们不需要区分不同类型的括号(如小括号、中括号、大括号),因为输入表达式只包含小括号 ()。我们只需要维护一个栈来跟踪尚未匹配的左括号即可。
java算法源码
import
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- import torch 报错:WinError 126
- 如何在Java中实现邮件发送功能?
- python之openpyxl模块——实现Excel表格的处理(万字教学,全网最全,超详细!)
- BUG解决:postman可以请求成功,但Python requests请求报403
- 解决Pycharm下载torch报错:OSError: [WinError 126] 找不到指定的模块。
- python创建线程和结束线程
- 精通Python(基础篇)pip命令大全(非常详细)零基础入门到精通,收藏这一篇就够了
- Python中的列表(list)
- ImportError: /usr/local/lib/python3.8/dist-packages/flash_attn_2_cuda.cpython-38-x86_64-linux-gnu.so
- Python实现水果忍者(开源)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj
- Python pyinstaller打包exe最完整教程
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应