美文网首页【python公司校招题】
【python百度】字符串匹配?

【python百度】字符串匹配?

作者: 阿牛02 | 来源:发表于2019-08-09 16:44 被阅读0次

    题目:牛牛有两个字符串A和B,其中A串是一个01串,B串中除了可能有0和1,还可能有'?',B中的'?'可以确定为0或者1。 寻找一个字符串T是否在字符串S中出现的过程,称为字符串匹配。牛牛现在考虑所有可能的字符串B,有多少种可以在字符串A中完成匹配。

    例如:A = "00010001", B = "??"

    字符串B可能的字符串是"00","01","10","11",只有"11"没有出现在字符串A中,所以输出3.

    分析:

    code:

    A = "0001000100"

    B = "??"

    all_s = []

    for i in range(len(A) - len(B) + 1):

        tmp = A[i : i + len(B)]

        flag = True

        for j in range(len(B)):

            if tmp[j] != B[j] and B[j] != "?":

                flag = False

                break

        if flag:

            if tmp not in all_s:

                all_s.append(tmp)

    print(len(all_s))

    程序运行结果为:

    3

    相关文章

      网友评论

        本文标题:【python百度】字符串匹配?

        本文链接:https://www.haomeiwen.com/subject/qbmhjctx.html