脱括号变号
来源:互联网 发布:jquery清空table数据 编辑:程序博客网 时间:2024/04/27 14:32
对一个只含大写英文字母,"+","-","(",")'的表达式,其中单个大些字母表示变量,进行如下处理:去掉表达式中的全部括号,并对“+”,“-”进行相应的变号,最后得到一个与所给表达式等价且长度最短的表达式。不判错
如 (-A)-((-B)-(-C))
得 -A+B-C
这一题上我发了较多的时间,应该都是因为编程上的失误吧。
因为一个括号为的符号影响的是接在其后的一整个括号内的符号。如果是符号,我要改变的是这个括号内的不在其他括号内的符号。
所以我初始化的时候,计算出了每个"("对应的")"所在的位置和")"对于"("所在的位置,还有每个符号所在的括号的左括号的位置。
这样我就可以通过遍历在做了。
找到一个符号以后,在其后的整个括号中找所记录的对应位置为该括号的符号进行变号。
得:
对于类似的问题,一个数据会改变一定范围内的数据,可以试着将范围记录下来。
- 脱括号变号
- 【华为OJ】解析报文,加括号,=变,
- base64_encode +号变空格
- 变
- 变
- 变
- 变
- 变
- 变...
- 变
- 变
- 变
- 括号括号括号匹配
- PHP urlencode加密空格变+号,处理
- 协变、抗变
- 逆变、协变
- shell 小括号中括号大括号
- [shell] 小括号、中括号、大括号
- FBI树
- 考试
- 亲戚 并查集
- Linux下c++通过动态链接库调用类
- 初识FPT
- 脱括号变号
- 收藏的一些GIS网站 与大家共享
- 如何用JS获取ASP.net中的textbox的值 js获不到text值
- 克隆javascript对象-目前最完美的方法
- Reference
- Oracle文摘1
- 启动vsftpd的问题---500 OOPS
- 积极地心态
- 中断发生时寄存器的保存和恢复