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

深圳创意网站建设wordpress免费的吗

深圳创意网站建设,wordpress免费的吗,网页设计公司未来三年费用利润,以下属于免费推广的方式的是题目链接:https://leetcode.cn/problems/zheng-ze-biao-da-shi-pi-pei-lcof/ 1. 题目介绍(19. 正则表达式匹配) 请实现一个函数用来匹配包含. 和*的正则表达式。模式中的字符.表示任意一个字符,而’*表示它前面的字符可以出现任意…

题目链接:https://leetcode.cn/problems/zheng-ze-biao-da-shi-pi-pei-lcof/

1. 题目介绍(19. 正则表达式匹配)

请实现一个函数用来匹配包含'. ''*'的正则表达式。模式中的字符'.'表示任意一个字符,而’*'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a""ab*ac*a"匹配,但与"aa.a""ab*a"均不匹配。

【测试用例】:
示例 1:

输入:
s = “aa”
p = “a”
输出: false
解释: “a” 无法匹配 “aa” 整个字符串。

示例 2:

输入:
s = “aa”
p = “a*”
输出: true
解释: 因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 ‘a’。因此,字符串 “aa” 可被视为 ‘a’ 重复了一次。

示例 3:

输入:
s = “ab”
p = “."
输出: true
解释: ".
” 表示可匹配零个或多个(‘*’)任意字符(‘.’)。

示例 4:

输入:
s = “aab”
p = “cab”
输出: true
解释: 因为 ‘*’ 表示零个或多个,这里 ‘c’ 为 0 个, ‘a’ 被重复一次。因此可以匹配字符串 “aab”。

示例 5:

输入:
s = “mississippi”
p = “misisp*.”
输出: false

【条件约束】:

提示

  • s 可能为空,且只包含从 a-z 的小写字母。
  • p 可能为空,且只包含从 a-z 的小写字母以及字符 .*,无连续的 '*'

【相似题目】:

  • 【LeetCode】No.10. Regular Expression Matching – Java Version

2. 题解

2.1 递归 – O(2n)

时间复杂度O(2n),空间复杂度O(n)

在这里插入图片描述

class Solution {public boolean isMatch(String s, String p) {if (p.isEmpty()) return s.isEmpty();int sx = 0;int px = 0;return matchCore(s.toCharArray(), sx, p.toCharArray(), px);}public boolean matchCore(char[] str, int sx, char[] pattern, int px) {// 递归终止条件// 1. 同时结束if (sx == str.length && px == pattern.length) {return true;}// 2. pattern先结束if (sx != str.length && px == pattern.length) {return false;}// 当模式中的第二个字符是'*'时if (px + 1 < pattern.length && pattern[px+1] == '*' ){// 且模式的当前字符与字符串中的字符相匹配 or 模式当前字符为'.',可以匹配任意一个字符,if (sx != str.length && (pattern[px] == str[sx] || (pattern[px] == '.'))) {// 如果模式中的第一个字符和字符串中的第一个字符相匹配,下面就有2种选择// 1. 匹配1次或多次,一个一个往后匹配return matchCore(str, sx+1, pattern, px)// 2. 匹配0次,pattern直接跳过两个字符,即忽略"x*"|| matchCore(str, sx, pattern, px+2);} else // 匹配0次,pattern直接跳过两个字符,即忽略"x*"return matchCore(str, sx, pattern, px+2);} // 当模式中的字符是'.'时,或模式中字符不是'.',但仍与字符串中字符相匹配时,接着匹配后面的字符if (sx != str.length && (str[sx] == pattern[px] || pattern[px] == '.'))return matchCore(str, sx+1, pattern, px+1);return false;}
}

在这里插入图片描述

2.2 动态规划 – O(mn)

时间复杂度O(mn),空间复杂度O(mn)
不得不说,动态规划确实快。
在这里插入图片描述
在这里插入图片描述
思路图解:
在这里插入图片描述

class Solution {public boolean isMatch(String s, String p) {int m = s.length() + 1, n = p.length() + 1;boolean[][] dp = new boolean[m][n];// dp[0][0] = true: 代表两个空字符串能够匹配。dp[0][0] = true;// 初始化首行// dp[0][j] = dp[0][j - 2] 且 p[j - 1] = '*': 首行 s 为空字符串,因此当 p 的偶数位为 * 时才能够匹配(即让 p 的奇数位出现 0 次,保持 p 是空字符串)for(int j = 2; j < n; j += 2)dp[0][j] = dp[0][j - 2] && p.charAt(j - 1) == '*';// 状态转移for(int i = 1; i < m; i++) {for(int j = 1; j < n; j++) {dp[i][j] = p.charAt(j - 1) == '*' ?dp[i][j - 2] || dp[i - 1][j] && (s.charAt(i - 1) == p.charAt(j - 2) || p.charAt(j - 2) == '.') :dp[i - 1][j - 1] && (p.charAt(j - 1) == '.' || s.charAt(i - 1) == p.charAt(j - 1));}}return dp[m - 1][n - 1];}
}

在这里插入图片描述

3. 参考资料

[1] 《剑指Offer》Java刷题 NO.52 正则表达式匹配(字符串、正则表达式、递归、动态规划) – 递归代码参考
[2] 剑指 Offer 19. 正则表达式匹配(动态规划,清晰图解)-- 动态规划解法参考

http://www.yayakq.cn/news/306001/

相关文章:

  • 公司内部网站源码天津河东做网站哪家好
  • 通化网站建设中英文切换网站模板
  • 网站建设工程师职责十个常见的网络推广渠道
  • 网站建设编辑做土司的网站
  • 玉泉路网站制作wordpress怎么置顶
  • 网站建设工程师职责说明城市建设投资公司 网站
  • 贵港网站建设动态服装设计师怎么学
  • 网站有哪些类型和它的成功案例表格制作excel下载
  • 网站备案初审过了wordpress文字加效果
  • 泉州手机网站建设公司公司网站建设入什么费用
  • 建站 wordpress传统网站和手机网站的区别是什么
  • 网站开发图片存哪里上海3d建模培训学校
  • 网站设计方案案例街机网页游戏大全
  • 网站文字代码哈尔滨建设鞋城
  • 中国建设银行网站的社保板块在哪里做网站的大小
  • 网站需求怎么做西安谁家做网站
  • 网站设计例子上海网站平台建设
  • 广东网站建设系统网页紧急升级
  • 贵阳建设工程招投标网站优化营商环境存在问题及整改措施
  • 为什么自己做不出一个好网站大气集团网站模板
  • 网站数据分析建设vi设计概念
  • 站长之家ping小程序设计网站
  • 高新公司网站建设哪家好织梦如何仿手机网站
  • 常州网站建设大全泰州企业建站程序
  • 方舟未来网站建设wordpress iis 发布
  • dw怎么做购物网站学校网站建设电话
  • 漯河网站建设漯河秦皇岛做网站汉狮网络
  • 设置什么引擎营销是用户主导的网络营销方式固原地网站seo
  • 网站做的最好的公司个人网站是商业的吗
  • 连云港网站seo如何向google提交网站