正则表达式填字游戏解算器

时间:2017-09-18 12:34:13

标签: regex string algorithm performance time-complexity

Find string to regular expression programmatically?之后,我们假设找到与正则表达式匹配的字符串需要线性时间。我的开头说我们也可以通过编程方式解决正则表达式填字游戏,对吗?

如果是,那么解决NxM正则表达式填字游戏的时间复杂度是多少?

示例:

enter image description here

1 个答案:

答案 0 :(得分:1)

即使您不允许反向引用,这也很难。有一个从exact set cover problem到这个问题的简单映射。

如果您设置SerializerFactory(使用union ElasticClient),并且不失一般性,那么这些集合包含所有数字1 ... N代表某些N.代表S[1], S[2], ..., S[n]作为长度为N的字符串,如果k在S中,则在第k个位置S[i],否则为1。 让正则表达式拼图的列完全相同 - S[i],第k行为“(S [k])|(0 *)”。

例如,如果00*10*,则谜题将是:

S[1] = {1, 4}, S[2] = {2}, S[3] = {3}

此正则表达式拼图的解决方案是{1,2,3,4}与S[4] = {2, 3}的确切封面。