题解 | #字符串通配符#动态规划空间只需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())

全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务