首页 > 其他 > 详细

b_bd_字符串匹配(双层循环双指针)

时间:2020-12-25 11:42:55      阅读:27      评论:0      收藏:0      [点我收藏+]

现在考虑所有可能的字符串B,有多少种可以在字符串A中完成匹配。
A = "00010001", B = "??"
字符串B可能的字符串是"00","01","10","11",只有"11"没有出现在字符串A中,所以输出3

思路:暴力枚举A的每一个长度为m的子串,然后检查是否能匹配B

def solve(A,B):
    n,m=len(A),len(B)
    ans,C=0,[]
    for i in range(n-m+1):
        c,s=0,A[i:i+m]
        for j in range(m):
            if s[j]==B[j] or B[j]==‘?‘: c+=1
            else: break
        if c==m: C.append(s)
    return len(set(C))
print(solve(input(),input()))

b_bd_字符串匹配(双层循环双指针)

原文:https://www.cnblogs.com/wdt1/p/14187603.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!