Python中的暴力模式算法

2024-10-01 22:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python,您将如何实现暴力字符串匹配算法。该算法将解决字符串匹配问题。字符串匹配问题是在文本(n个字符的字符串)中查找模式(m个字符的字符串)。 使用以下测试用例的输出验证代码:

测试用例#1: 文本:10110100110010111 式样:001011

测试用例#2: 拥有快乐的童年永远不会太晚 模式:更快乐

测试用例#3: 短信:没人注意到他 模式:不是


Tags: 字符串代码文本算法模式测试用例短信暴力
1条回答
网友
1楼 · 发布于 2024-10-01 22:31:40

你可以用

pattern in text

为了这个。如果您需要从头开始实现整个算法,那么也很容易:

def contains(text, pattern):
    for i in range(len(text)):
        for j in range(len(pattern)):
            if i + j >= len(text):
                break
            if text[i + j] != pattern[j]:
                break
        else:
            return True
    return False

用法

contains('10110100110010111', '001011') # True
contains('It is never too late to have a happy childhood', 'happier') # False

应该指出的是,还有其他算法将更加有效,例如著名的Knuth-Morris-Pratt algorithm

相关问题 更多 >

    热门问题