NO44. 通配符匹配
#和之前通配符匹配很像,dp的思路 class Solution: def isMatch(self, s: str, p: str) -> bool: vertical = len(p)+1 #纵向的长度,由于有初始start因此加一 level = len(s)+1 if set(p) == {"*"}: return True # *可以匹配包括空字符 #建表 table = [[False]*level for i in range(vertical)] #初始化全为False table[0][0] = True if p.startswith('*'): table[1] = level*[True] for i in range(1,vertical): path = False for j in range(1,level): if p[i-1]=='*': #判断出现'*'情况 if table[i-1][0]==True: #如果第一行为*,那全为True table[i] = [True]*level if table[i-1][j]: #如果上一行为True,令标志True path = True if path:#只要顶上有了True,就可以开通*接下来的所有道路 table[i][j]=True elif p[i-1] == "?" or p[i-1]==s[j-1]:#先判断字母是否符合 table[i][j] = table[i-1][j-1] #再看左上方格子是不是T return table[vertical-1][level-1] #https://leetcode.cn/problems/wildcard-matching/solution/yi-ge-qi-pan-kan-dong-dong-tai-gui-hua-dpsi-lu-by-/ #该博主的dp讲法很清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)