首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求算法,或思路【听说没几个人做得出来】,该如何处理

2013-06-25 
求算法,或思路【听说没几个人做得出来】很几条这样的数据:1、A+B+C-D+2、A+B-C+D-3、C+A-B+E+4、A+B+C-D-....以

求算法,或思路【听说没几个人做得出来】
很几条这样的数据:
1、A+B+C-D+
2、A+B-C+D-
3、C+A-B+E+
4、A+B+C-D-
....
以上字母是无序。

需要快速查找这样形式的数据,
包含有
A+C-
结果就是:1

(A+|B+)&C-拆分出来就是需要找到:A+C-或B+C-,只要满意两者之一就找出来,
结果是:
1、A+B+C-D+
4、A+B+C-D-

求算法,或思路,最好考虑一下性能。。。。
[解决办法]
(A+
[解决办法]
B+)&C-这种需要自己解析么?

其他indexOf或者contains不就可以解决了么。。
[解决办法]
(A+
[解决办法]
B+)&C-   这种表达式写个方法来拆分, 返回符合条件的A+,C-和B+,C-  (List<List<String>>)
然后contains来判断.

这我想到的,没考虑效率方面..
[解决办法]
个人想法是一个二维数组,你不需要存储abcd,只需要存储+ -就行了。然后遍历数组,查询对应位置是不是+或-.
这应该是最简单的实现了。

[解决办法]
标准的产生式问题, 去看下javacc或antlr。任意一个,你这个问题十分钟就搞定了。
[解决办法]
无序的,用语法分析器,比较好。
排序后在查找的,可以考虑多模匹配,AC算法。
[解决办法]
1、用javacc
2、用解释器模式自己写一个解释器

热点排行