题解 | Python #正则表达式匹配#

正则表达式匹配

https://www.nowcoder.com/practice/4332e089f39442568af33afac99345be

每次这种很多条件的动态规划还是习惯用dfs做 lol

from functools import cache
s1 = input()
s2 = input()
@cache
def dfs(i,j):
    if i==0 and j!=0:
        if s2[j-1]=='*':
            return dfs(i,j-2)
        return False
    if i!=0 and j==0: return False
    if i==0 and j==0: return True

    if s2[j-1]=='.' or s1[i-1]==s2[j-1]:
        return dfs(i-1,j-1)
    elif s2[j-1]=='*':
        if dfs(i,j-2):
            return True
        if s2[j-2] == s1[i-1] or s2[j-2]=='.':
            return dfs(i-1,j)

if dfs(len(s1),len(s2)):
    print('true')
else:
    print('false')

全部评论

相关推荐

03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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