【问题标题】:and conquer algorithm - search for pattern in string [closed]和征服算法 - 在字符串中搜索模式 [关闭]
【发布时间】:2013-04-26 00:11:36
【问题描述】:

我正在尝试用伪代码编写一个分而治之的算法,以找出在给定的 n 个字母字符串中出现了多少个 3 字母模式。

类似这样的伪代码:

模式是固定的:XXY

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

或者

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

感谢大家的宝贵时间!

【问题讨论】:

    标签: algorithm divide-and-conquer


    【解决方案1】:

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

    【讨论】:

    • 如果是 AXXY 或 XXYA 怎么办??
    • 您将输入字符串分解为所有 3 长度的子字符串,因此 AXXY 将具有 AXX 和 XXY。
    • 好的,知道了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多