当前位置: 首页 > news >正文

LeetCode 44:通配符匹配 | 动态规划

LeetCode 44:通配符匹配 | 动态规划

引言

通配符匹配(Wildcard Matching)是 LeetCode 第 44 题,难度为 Hard。题目要求实现通配符匹配,支持 '?' 和 '*'。

'?' 匹配任意单个字符,'*' 匹配任意序列(包括空序列)。

算法实现

Python 实现

def isMatch(s, p): m, n = len(s), len(p) dp = [[False] * (n + 1) for _ in range(m + 1)] dp[0][0] = True for j in range(1, n + 1): if p[j - 1] == '*': dp[0][j] = dp[0][j - 1] for i in range(1, m + 1): for j in range(1, n + 1): if p[j - 1] == '*': dp[i][j] = dp[i][j - 1] or dp[i - 1][j] elif p[j - 1] == '?' or p[j - 1] == s[i - 1]: dp[i][j] = dp[i - 1][j - 1] return dp[m][n]

复杂度分析

时间复杂度:O(m * n)
空间复杂度:O(m * n)

总结

通配符匹配与正则表达式匹配类似,但 '' 的语义不同:'' 可以匹配任意序列。

http://www.rkmt.cn/news/1400200.html

相关文章:

  • 保姆级教程:用Unity ShaderGraph的Voronoi和Gradient Noise节点,5分钟搞定动态火焰材质
  • Arm编译器版本与架构支持全解析
  • 2021年至今GitHub星标增长最快TOP16-20项目深度解析
  • 深度剖析男鞋市场,聊聊哪里有男鞋生产商一手货源如何选择 - mypinpai
  • 独立开发者如何用Python+PostgreSQL+Grafana搭建自动化营收仪表盘
  • HsMod:炉石传说游戏体验全方位优化插件终极指南
  • 别再让模型在Unity里‘隐身’或乱转了!Blender导出FBX的常见问题排查手册
  • CPAL脚本避坑指南:TestcaseFail和TestCaseSkipped用不对,小心测试结果全乱套
  • 手把手教你用GDB调试拆解CSAPP的Bomb Lab(附六关完整答案与避坑点)
  • 告别Animator Controller!用Unity Playable API手搓一个轻量级角色动画系统(附完整代码)
  • Endnote X9文献管理实战:从PubMed/知网批量导入到Word一键排版,保姆级避坑指南
  • 立创EDA专业版PCB绘制保姆级避坑指南:从板框到DRC检查,新手也能一次成功
  • 星河实战派|儿童绘本生成器:ERNIE-Image如何做到中文文字直出
  • 别再死记硬背!图解单边拉普拉斯变换的‘延时’与‘尺度变换’性质(从信号波形变化直观理解)
  • Seraphine:英雄联盟玩家的5大智能助手功能,一键提升游戏体验
  • 分析口碑好的洋酒柜定制公司,上海酒依酒柜值得推荐 - mypinpai
  • 2026年,AI大模型开发工程师为什么能拿50万年薪?
  • 别再手动对齐了!Fusion360 里用‘构造面’和‘对齐’工具,3步搞定外壳开孔居中
  • 告别杂音!用运算放大器搭建有源低通滤波器,手把手教你搞定音频电路设计
  • 自相关数据下Mann-Kendall趋势检验的修正方法:Yue-Wang与Hamed-Rao
  • MCB1700评估板连接器布局与设计要点详解
  • Gzip解压:处理开启了Gzip压缩的响应体,深潜Gzip压缩响应体:Python爬虫进阶实战手册
  • 树莓派4B + Python3 + OpenCV + Pyzbar:手把手教你打造一个实时二维码扫描器(附完整代码)
  • 深入浅出:IPMSM无感FOC中,为什么方波注入比正弦波注入更‘抗造’?
  • 从Maya到Unity:手把手教你用BlendShape制作会‘说话’的3D角色面部
  • 从robots.txt到agents.txt:IETF草案过期的启示与机器人协议演进
  • AI 技术日报 - 2026-05-27
  • HNSW索引优化与分布式内存架构实践
  • 别再猜了!用Vivado FIFO的More Accurate Data Counts功能,彻底搞懂First-Word Fall-Through的深度变化
  • 用Common Lisp构建MCP服务器:从协议解析到AI工具集成的实践