题解 | #字符串通配符#动态规划空间只需O(n)

字符串通配符

https://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036

import sys
match = sys.stdin.readline().strip().lower()
s = sys.stdin.readline().strip().lower()
cur = [True]+[False for _ in range(len(s))] #此时的cur代表match为空时,与string中每一位的匹配,其中[True]代表match和string都为空时匹配成功

for i in range(len(match)):
    pre = cur 
    cur = [False for _ in range(len(s)+1)]
    cur[0] = True if pre[0]==True and match[i]=='*' else False
    for j in range(0,len(s)):
        if pre[j] and (match[i] == s[j] or ((match[i]=='?' or match[i]=='*') and (s[j].isalpha() or s[j].isdigit()))):
            cur[j+1] = True
        elif (pre[j+1] or cur[j]) and match[i]=='*' and (s[j].isalpha() or s[j].isdigit()):
            cur[j+1] = True
print(str(cur[-1]).lower())

全部评论

相关推荐

找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务