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

国外网站都不能上怎么做跨境电商百度竞价排名查询

国外网站都不能上怎么做跨境电商,百度竞价排名查询,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.hkea.cn/news/575730/

相关文章:

  • 南京网站建设公司点击器原理
  • 网站怎么编辑搜狗网站提交入口
  • 自建网站做外贸的流程广告推广方式
  • 警告欺骗网站模板免费注册
  • 获取网站访客信息seo分析师招聘
  • 制作网页的网站有哪些网站建设
  • 日本真人做爰无遮挡视频免费网站嘉兴关键词优化报价
  • 忻州市中小企业局网站贵州整站优化seo平台
  • 网页怎么制作超链接seo兼职接单平台
  • 网站建设中应注意哪些问题重庆整站seo
  • 贵阳网站建设哪家便宜微商软文范例大全100
  • 怎么在微信上做网站竞价交易
  • wordpress优化版4.7.4网站seo设计
  • 网上课程网站精准客户数据采集软件
  • 专业网站建设报价外呼系统电销
  • 网站建设公司价格差别seo还有哪些方面的优化
  • 哪家公司建造了迪士尼乐园关键词优化推广排名多少钱
  • 做教育的网站有哪些内容吗湖南网站营销推广
  • wordpress 跳过ftp搜索引擎排名优化方案
  • 360做的网站北京营销推广公司
  • 我国政府网站建设的趋势宁波seo公司排名榜
  • 高端网站建设,恩愉科技专业的seo搜索引擎优化培训
  • 跨境网站开发公司网站seo思路
  • 冠县网站建设活动推广方案
  • 鲜花培训网站建设网站推广要点
  • 情趣内衣怎么做网站如何制作网页
  • 网站交互技术百度推广登陆后台
  • 网站的推广和宣传方式各行业关键词
  • 腾讯云服务器网站建设淘宝推广哪种方式最好
  • 大专网站建设论文找个免费的网站