当前位置: 首页 > 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.zqtcl.cn/news/337641/

相关文章:

  • 手机网站 需求模板3000元建设个人网站
  • 请人做网站域名和主机thinkphp网站开发实战教程
  • 做地产网站哪家好饮料网站建设价格
  • 外管局网站 报告怎么做wordpress 阿里
  • 湘潭做网站 去磐石网络山西自助建站费用低
  • 温州哪里做网站比较好昆明网页制作开发
  • 网站建设淘宝客网站建设与网页设计入门
  • 网站推广营销联系方式俄语免费网站制作
  • 广东企业网站seo点击软件搭建本地网站
  • 商丘做网站的价格专业网站制作哪家强
  • 瑞安微信网站软件公司网站设计与制作
  • 片头网站网站建设服装在线商城实训报告
  • wordpress做企业网站怎样做网页推广
  • 网站建设售后服务安全维护企业网站开发 外文文献
  • 网站设计英文翻译系统开发的五个阶段
  • 成华区门户网站拍卖网站开发多少钱
  • html设计网站wordpress 评论增加字段
  • 搭建正规网站小程序开发难不难
  • 做静态网站用什么软件自己编写代码建设微网站
  • 备案网站ipoa系统主要干什么的
  • 杭州专业网站建设在哪里wordpress主题重置
  • 仿wordpress站赣州专业网站推广
  • 网站开发需要多长时间python链接wordpress
  • 网上交易网邯郸网站seo
  • wordpress图片后加载外链seo服务
  • 婚庆公司网站建设腾讯广告建站工具
  • 焦作建设厅网站wordpress调用视频播放器
  • 网站版面做好江苏省建设工程设计施工图审核中心网站
  • 智能网站平台wordpress同步头条
  • 做采集的网站有流量吗广州建设学校