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

黄石做网站的微网站建设的三个步骤

黄石做网站的,微网站建设的三个步骤,便宜网站建设成都,传奇网络游戏LeetCode-10 正则表达式匹配 动态规划 10. 正则表达式匹配 dp数组含义#xff1a;dp[i][j]dp[i][j]dp[i][j] 表示 s[0:i−1]s[0:i-1]s[0:i−1] 能否被 p[0:j−1]p[0:j-1]p[0:j−1] 成功匹配。 状态转移方程 #xff1a; 如果 s[i−1]p[j−1]s[i-1]p[j-1]s[i−1]p[j−1] …LeetCode-10 正则表达式匹配 动态规划 10. 正则表达式匹配 dp数组含义dp[i][j]dp[i][j]dp[i][j] 表示 s[0:i−1]s[0:i-1]s[0:i−1] 能否被 p[0:j−1]p[0:j-1]p[0:j−1] 成功匹配。 状态转移方程 如果 s[i−1]p[j−1]s[i-1]p[j-1]s[i−1]p[j−1] 那么当前字符是匹配成功了整个子串是否匹配成功取决于之前的子串能否匹配即 dp[i][j]d[i−1][j−1]dp[i][j]d[i-1][j-1]dp[i][j]d[i−1][j−1] 。如果 s[i−1]≠p[j−1]s[i-1]\ne p[j-1]s[i−1]​p[j−1] 可以按 p[j−1]p[j-1]p[j−1] 是什么分三种情况 如果 p[j−1]p[j-1]p[j−1] 是 . 或 * 之外的字符那肯定不匹配了dp[i][j]falsedp[i][j]falsedp[i][j]false如果 p[j−1]′.′p[j-1].p[j−1]′.′ 由于 . 可以匹配任何字符因此当前字符也肯定匹配成功了还是取决于之前的子串即 dp[i][j]dp[i−1][j−1]dp[i][j]dp[i-1][j-1]dp[i][j]dp[i−1][j−1] 。如果 p[j−1]′∗′p[j-1]*p[j−1]′∗′ 情况比较复杂需要再看 p[j−2]p[j-2]p[j−2] 与 s[i−1]s[i-1]s[i−1] 的关系因为 p[j−2]p[j-2]p[j−2] 要与 s[i−1]s[i-1]s[i−1] 匹配上p[j−1]p[j-1]p[j−1] 的这个 * 才有用 而所谓 ”匹配上“可能有两种情况一个是字符相同即 p[j−2]s[i−1]p[j-2]s[i-1]p[j−2]s[i−1]另一个是 p[j−2]p[j-2]p[j−2] 是 . 匹配任意字符。可以再按照 p[j−1]p[j-1]p[j−1] 这个 * 让 s[i−1]s[i-1]s[i−1] 这个字符出现几次来分零次、一次或两次及以上 p[j−1]p[j-1]p[j−1] 匹配零个 sss 中字符相当于删掉 * 自己及其之前的一个字符看能不能匹配成功比如 ### 和 ###a* 这时 dp[i][j]dp[i][j−2]dp[i][j]dp[i][j-2]dp[i][j]dp[i][j−2] p[j−1]p[j-1]p[j−1] 匹配一个 sss 中字符相当于把 * 自己删掉看能不能匹配成功比如 ### 和 ###*这时 dp[i][j]dp[i−1][j−2]dp[i][j]dp[i-1][j-2]dp[i][j]dp[i−1][j−2] p[j−1]p[j-1]p[j−1] 匹配多个 sss 中字符这时 dp[i][j]dp[i−1][j]dp[i][j]dp[i-1][j]dp[i][j]dp[i−1][j]注意以上三种情况只要满足一种即可是 或 的关系。 如果未能匹配上即 $p[j-2]\ne s[i-1] $ 且 p[j−2]≠′.′p[j-2]\ne .p[j−2]​′.′ 这时 p[j−1]p[j-1]p[j−1] 的这个 * 可以把没能匹配上的 p[j−2]p[j-2]p[j−2] 删掉因此就取决于再之前的子串是否匹配dp[i][j]dp[i][j−2]dp[i][j]dp[i][j-2]dp[i][j]dp[i][j−2] 。 初始化 首先 dp[0][0]dp[0][0]dp[0][0] 即 sss 和 ppp 均为空时 认为是可以匹配的之后的 dp[0][j]dp[0][j]dp[0][j] 要先看 p[j−1]p[j-1]p[j−1] 是否为 * 若为 * 则 dp[0][j]dp[0][j−2]dp[0][j]dp[0][j-2]dp[0][j]dp[0][j−2] 。 其他位置均初始化为 falsefalsefalse 。 遍历顺序 从前到后即可 class Solution { public:bool isMatch(string s, string p) {int m s.size(), n p.size();vectorvectorbool dp(m1, vectorbool (n1, false));dp[0][0] true;for (int j1; jn1; j) {if (p[j-1] *) dp[0][j] dp[0][j-2];}for (int i1; im1; i) {for (int j1; jn1; j) {if (s[i-1] p[j-1] || p[j-1] .) dp[i][j] dp[i-1][j-1];else if (p[j-1] *) {if (s[i-1] p[j-2] || p[j-2] .) {dp[i][j] dp[i][j-2] || dp[i-1][j-2] || dp[i-1][j];}else {dp[i][j] dp[i][j-2];}}}}return dp[m][n];} };Ref https://leetcode.cn/problems/regular-expression-matching/solution/shou-hui-tu-jie-wo-tai-nan-liao-by-hyj8/ https://leetcode.cn/problems/regular-expression-matching/solution/dong-tai-gui-hua-zen-yao-cong-0kai-shi-si-kao-da-b/
http://www.pierceye.com/news/337641/

相关文章:

  • 网站关键词长度开平 做一网站
  • 青海制作网站可以网站可以做免费的文案广告
  • 深圳维特网站建设有彩虹代刷源码怎么做网站
  • 有了自己的网站怎样做后台食品建设网站前的市场分析
  • 制作伪装网站微餐饮网站建设
  • 泰州做网站软件哈尔滨网站建设市场分析
  • 手机网站建设口碑好网站的技术建设
  • 论坛类网站备案wordpress分享qq
  • 做化工的在哪个网站做平台好长期做网站应该购买稳定的空间
  • 网站建设 推广找山东博达制作网页难吗
  • 临安网站设计海口h5建站模板
  • 网站建设济南云畅网络技术有限公司厦门最新通告
  • ozon电商平台seo关键词搜索和优化
  • 网站收录查询情况科技网站导航
  • 如何做有后台的网站模板网站和定制网站的优劣势对比
  • 在360网站做公告怎么弄南平建设企业网站
  • 网站建设电影动漫制作专业什么电脑最适合
  • 企业做网站公司有哪些wordpress登陆不了一直返回首页
  • 汽车网站建设公司哪家好长春做网站多少钱
  • 雄安移动网站建设php网站用什么软件
  • 网站开发税收分类山东平台网站建设制作
  • 企业自助建站网手机怎么制作钓鱼网站
  • 家乡ppt模板免费下载网站x wordpress 视差 主题
  • 淄博张店外贸建站公司手机微信网页版
  • 网站建设全域云网站建设流程详解
  • 梅州市五华县建设银行网站写作网站招聘
  • 博物馆网站建设情况工业互联网龙头公司排名
  • 做网站用什么系统做网站开发电脑配置
  • 企业网站推广的主要方法上海中汇建设发展有限公司网站
  • 郑州做网站公司电话网站是否有管理员权限