题解 | 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')

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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