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

leetcode 10. 正则表达式匹配

题目:leetcode 10. 正则表达式匹配

https://leetcode.cn/problems/regular-expression-matching/submissions/

视频讲解:

https://www.bilibili.com/video/BV1jd4y1U7kE?spm_id_from=333.788.videopod.sections&vd_source=136c403361d2786d99be256b33ac445a

#include <vector>
#include <string>
using namespace std;class Solution {
public:bool isMatch(string s, string p) {int m = s.size(), n = p.size();vector<vector<bool>> f(m + 1, vector<bool>(n + 1, false));f[0][0] = true; // 两个空字符串可以匹配// 初始化第一行,处理s为空字符串,p为a*b*c*等情况for (int j = 1; j <= n; j++) {if (p[j-1] == '*') {f[0][j] = f[0][j-2];}}// 填充动态规划表for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (p[j-1] != '*') {// 当前字符匹配或为'.'f[i][j] = (s[i-1] == p[j-1] || p[j-1] == '.') && f[i-1][j-1];} else {// 当前字符为'*',处理两种情况if (s[i-1] == p[j-2] || p[j-2] == '.') {// 情况1:匹配s末尾的一个字符,继续使用该组合// 情况2:不匹配字符,丢弃该组合f[i][j] = f[i-1][j] || f[i][j-2];} else {// 只能丢弃该组合f[i][j] = f[i][j-2];}}}}return f[m][n];}
};
http://www.xdnf.cn/news/932077.html

相关文章:

  • 对比传统引擎,Unity3D 在生产配套中的独特优势
  • 【MySQL系列】MySQL 执行 SQL 文件
  • Java后端检查空条件查询
  • 快排图解及JS模板代码
  • 循环变量捕获问题​​
  • redis--黑马点评--分布式锁实现详解
  • 【C/C++】EBO空基类优化介绍
  • C++----剖析list
  • 言和语的洞见,即:融智学解决方案
  • SEO新手优化步骤拆解
  • 人脸识别技术应用备案办理指南
  • 可可·香奈儿 活出自己
  • 【Elasticsearch】映射:null_value 详解
  • 代码规范和架构【立芯理论一】(2025.06.08)
  • 分形几何在医学可视化中的应用:从理论到Python实战
  • 元素水平垂直居中的方法
  • Jinja2深度解析与应用指南
  • 高等数学》(同济大学·第7版)第三章第四节“函数的单调性与曲线的凹凸性“
  • 开源大模型网关:One API实现主流AI模型API的统一管理与分发
  • 【C++系列】智能指针自定义析构
  • 如何将淘宝店铺商品搬到抖店去?利用 API 实现淘宝店铺商品到抖店的高效迁移
  • 5-C#的DateTime使用
  • Web后端基础(基础知识)
  • 基于PTN传输承载的4G网络-故障未连接...(我不理解哪错了排查了几遍没发现哪错啊啊啊啊)
  • AI架构师如何创建自己的知识库
  • JS手写代码篇---手写ajax
  • 计组_导学
  • 云备份项目
  • 行为型设计模式之Mediator(中介者)
  • java面试:JAVA并发篇