论坛首页 综合技术论坛

去除表达式里面多余的()

浏览 9463 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-06-01  
lz12366 写道
你的代码存在问题

34+)34*(34)

你把这个输入

运行下!!


lz12366 写道
你的代码存在问题

34+)34*(34)

你把这个输入

运行下!!


这种情况不属于我考虑的范围,左括号不会先与右括号出现! 别人给我的题目意思是,表达式括号的整体逻辑是对的,只不过出现某些括号多余! 你这个表达式就是错的,正常点的人不会写出这样的表达式的! 我写的这个代码不是逻辑纠正系统,况且如果要纠正逻辑,谁能知道书写表达式的人倒是想写什么表达式呢
0 请登录后投票
   发表时间:2010-06-01  
菜菜菜 写道
在我的印象中,括号匹配好像是大学时栈的应用的一个例子


你说的是检测表达式括号是否匹配,这个是去除整体逻辑正确的表达式中多余的括号
0 请登录后投票
   发表时间:2010-06-01  
如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,....
0 请登录后投票
   发表时间:2010-06-01  
lz12366 写道
嗯  我看你用了 几个数组!其实队列就是数组!!

其实用队列操作起来更简单!!

就像我上面的代码!!没多少代码量!!


我想告诉你的是这代码我拿到题后花了15分钟随便写出来的,还没优化,我优化一下可以只用一个数组来实现,代码量比你的还少!
0 请登录后投票
   发表时间:2010-06-01  
lz12366 写道
如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,....

呵呵,欢迎讨论,我以前一直在CSDN上写算法,连回复我博客的人都很少!感觉这儿比CSDN热闹一些!
如果硬是要写一个括号纠正系统,那就很麻烦了,你要制定一系列规则,还要建立概率模型,揣测用户的
真正意图!
0 请登录后投票
   发表时间:2010-06-01  
bobten2008 写道
lz12366 写道
如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,....

呵呵,欢迎讨论,我以前一直在CSDN上写算法,连回复我博客的人都很少!感觉这儿比CSDN热闹一些!
如果硬是要写一个括号纠正系统,那就很麻烦了,你要制定一系列规则,还要建立概率模型,揣测用户的
真正意图!



我觉得csdn上的一些东西不如这研究的深!!

两个论坛我都逛!!

现在还是学生!!好好学习别人的代码!!互相讨论下!!
0 请登录后投票
   发表时间:2010-06-02  
不好意思,还没看代码,但有个问题
输入:12+(345*(25-34)
这里你怎么确定输出是12+(345*25-34)还是12+345*(25-34)
0 请登录后投票
   发表时间:2010-06-02  
roy 写道
不好意思,还没看代码,但有个问题
输入:12+(345*(25-34)
这里你怎么确定输出是12+(345*25-34)还是12+345*(25-34)


呵呵,你看题设里面有句话“去除多余的左括号或者右括号,优先保留先出现的括号;”
代码我加了题注了,你再看看吧,应该不是很难懂,有问题再问我
0 请登录后投票
   发表时间:2010-06-03  
我觉得用栈好点吧
0 请登录后投票
   发表时间:2010-06-03  
qq240996777 写道
我觉得用栈好点吧

嗯,呵呵。我用的是栈
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics