44. 通配符匹配 题目链接 题目描述 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写 ...
分类:
其他好文 时间:
2020-07-07 09:18:00
阅读次数:
47
给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z ...
分类:
其他好文 时间:
2020-07-06 09:17:14
阅读次数:
69
44. 通配符匹配 Difficulty: 困难 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a- ...
分类:
其他好文 时间:
2020-07-06 09:15:07
阅读次数:
63
bool isMatch(char* s, char* p) { int m=strlen(s); int n=strlen(p); int dp[m+1][n+1]; memset(dp,0,sizeof(dp)); dp[0][0]=true; int i,j; //对边界问题进行处理 for( ...
分类:
其他好文 时间:
2020-07-06 01:27:59
阅读次数:
66
思路 两个数组或者字符串进行比较,本质上是一种枚举,而减少枚举次数的有效方法是使用动态规划。 用一个二维数组记录状态变化,dp[i][j]表示Si和Pj是否匹配。(Si表示字符串中前 i 个字符长度的子字符串,Pj同理) 状态方程: 代码 class Solution { public boolea... ...
分类:
其他好文 时间:
2020-07-05 22:47:25
阅读次数:
63
##1. 模式 ###1.0 回溯 贪婪模式和懒惰模式都会进行回溯; 匹配两次相关的字符时,匹配到不符合要求的字符后,这个字符才算匹配完,然后继续匹配下一个字符; 比如:xy{1,3}z 样本:xyyyz 在匹配该样本时,无论贪婪模式还是懒惰模式,都需要匹配到z后才能知道y字符匹配完成,才会继续匹配 ...
分类:
其他好文 时间:
2020-07-05 21:18:42
阅读次数:
52
给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小 ...
分类:
其他好文 时间:
2020-07-05 21:05:01
阅读次数:
127
自己哼哧哼哧做了好久,两个多小时,终于完成了。。。 public boolean isMatch(String s, String p) { //对p进行预处理 int j = 0; while (j+1<p.length()){ if(p.charAt(j) == '*' && p.charAt( ...
分类:
其他好文 时间:
2020-07-05 19:23:22
阅读次数:
60
题目描述: 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 今日学习: 1.动规,这次就差一点就做出来了 题解: 1.我考虑问题的时候有 ...
分类:
其他好文 时间:
2020-07-05 13:57:42
阅读次数:
62
1.文件过多 我们可以使用通配符来缩小查找范围如我们想只要txt的文件 此时ls *.txt*和编译原理中的意义一样2.ls xx* 指第一个字符必须为1 其他随便反正这个通配符可以加在任何位置3. ls ? 这个只代表任意一个字符ls ?? 2个任意字符ls ??????? 可以显示出 why.o ...
分类:
其他好文 时间:
2020-07-04 18:39:18
阅读次数:
72