【python百度】字符串匹配?
2019-08-09 本文已影响0人
阿牛02
题目:牛牛有两个字符串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
