2013-05-01 68 views
-3

我试图用伪代码编写一个分而治之的算法,它可以查找在给定的n个字母串中出现了多少个3字母模式。和征服算法 - 在字符串中搜索模式

事情是这样的伪代码:

的模式是固定的:XXY

int searchString("CDSXXYZSE") 
    . 
    . 
    search for "XXY" 
    . 
    . 
return (1) 

或者

int searchString("CDSXZXYZSE") 
    . 
    . 
    search for "XXY" 
    . 
    . 
return (0) 

谢谢大家的时间!

回答

0

在除法步骤中,我会将您的字符串参数拆分为所有可能的3字母组合,例如(CDS,DSX,XXY ...)。然后,对搜索到的模式进行相等测试,并在征服步骤中加上匹配数量。

+0

AXXY或XXYA的情况? – user2340989 2013-05-01 22:50:09

+0

您将输入字符串分解为所有3长度的子字符串,因此AXXY将具有AXX和XXY。 – 2013-05-01 22:51:52

+0

好吧,明白了,谢谢! – user2340989 2013-05-01 23:03:58