锁定老帖子 主题:去除表达式里面多余的()
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-01
lz12366 写道 你的代码存在问题
34+)34*(34) 你把这个输入 运行下!! lz12366 写道 你的代码存在问题
34+)34*(34) 你把这个输入 运行下!! 这种情况不属于我考虑的范围,左括号不会先与右括号出现! 别人给我的题目意思是,表达式括号的整体逻辑是对的,只不过出现某些括号多余! 你这个表达式就是错的,正常点的人不会写出这样的表达式的! 我写的这个代码不是逻辑纠正系统,况且如果要纠正逻辑,谁能知道书写表达式的人倒是想写什么表达式呢 |
|
返回顶楼 | |
发表时间:2010-06-01
菜菜菜 写道 在我的印象中,括号匹配好像是大学时栈的应用的一个例子
你说的是检测表达式括号是否匹配,这个是去除整体逻辑正确的表达式中多余的括号 |
|
返回顶楼 | |
发表时间:2010-06-01
如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,.... |
|
返回顶楼 | |
发表时间:2010-06-01
lz12366 写道 嗯 我看你用了 几个数组!其实队列就是数组!! 其实用队列操作起来更简单!! 就像我上面的代码!!没多少代码量!! 我想告诉你的是这代码我拿到题后花了15分钟随便写出来的,还没优化,我优化一下可以只用一个数组来实现,代码量比你的还少! |
|
返回顶楼 | |
发表时间:2010-06-01
lz12366 写道 如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,.... 呵呵,欢迎讨论,我以前一直在CSDN上写算法,连回复我博客的人都很少!感觉这儿比CSDN热闹一些! 如果硬是要写一个括号纠正系统,那就很麻烦了,你要制定一系列规则,还要建立概率模型,揣测用户的 真正意图! |
|
返回顶楼 | |
发表时间:2010-06-01
bobten2008 写道 lz12366 写道 如果有人恶意的呢!当然这只是讨论!你如果非要这样做的话!也不是不可以!!
感谢lz给于了一次讨论机会.,.... 呵呵,欢迎讨论,我以前一直在CSDN上写算法,连回复我博客的人都很少!感觉这儿比CSDN热闹一些! 如果硬是要写一个括号纠正系统,那就很麻烦了,你要制定一系列规则,还要建立概率模型,揣测用户的 真正意图! 我觉得csdn上的一些东西不如这研究的深!! 两个论坛我都逛!! 现在还是学生!!好好学习别人的代码!!互相讨论下!! |
|
返回顶楼 | |
发表时间:2010-06-02
不好意思,还没看代码,但有个问题
输入:12+(345*(25-34) 这里你怎么确定输出是12+(345*25-34)还是12+345*(25-34) |
|
返回顶楼 | |
发表时间:2010-06-02
roy 写道 不好意思,还没看代码,但有个问题
输入:12+(345*(25-34) 这里你怎么确定输出是12+(345*25-34)还是12+345*(25-34) 呵呵,你看题设里面有句话“去除多余的左括号或者右括号,优先保留先出现的括号;” 代码我加了题注了,你再看看吧,应该不是很难懂,有问题再问我 |
|
返回顶楼 | |
发表时间:2010-06-03
我觉得用栈好点吧
|
|
返回顶楼 | |
发表时间:2010-06-03
qq240996777 写道 我觉得用栈好点吧
嗯,呵呵。我用的是栈 |
|
返回顶楼 | |