力扣(LeetCode)10. 正则表达式匹配(C++)
创始人
2024-01-30 21:35:22
0

动态规划

基于闫式dp分析法。
dp1
dp2
综上 ,
f[i][j]={f[i−1][j−1]&&(s[i]==p[j]∣∣′.′==p[j])if  p[j]≠∗f[i][j−2]∣∣(f[i−1][j]&&(s[i]==p[j−1]∣∣′.′==p[j−1])if  p[j]=∗f[i][j] = \begin {cases} f[i-1][j-1] ~~\&\& ~~(s[i]==p[j] ~||~ '.'==p[j])&\text{ if }~p[j]\neq * \\ f[i][j-2] ~~||~~(f[i-1][j] ~~\&\&~~(s[i] == p[j-1] ~~||~~'.'==p[j-1])&\text{ if }~p[j]=* \end{cases}f[i][j]={f[i−1][j−1]  &&  (s[i]==p[j] ∣∣ ′.′==p[j])f[i][j−2]  ∣∣  (f[i−1][j]  &&  (s[i]==p[j−1]  ∣∣  ′.′==p[j−1])​ if  p[j]​=∗ if  p[j]=∗​

上式用代码表示

	if('*'!=p[j]) f[i][j] = i && f[i-1][j-1] && (p[j]==s[i]||p[j]=='.'); // i = 0 时,i -1 越界else if('*'==p[j]) {if(i) f[i][j] = f[i][j-2] || (f[i-1][j]&&(s[i]==p[j-1]||'.'==p[j-1]));//i=0 时,i-1越界else f[i][j] = f[i][j-2];}

优化dp

class Solution {
public:bool isMatch(string s, string p) {int n = s.size();int m = p.size();s = ' '+s,p = ' '+p;//f[0][0]表示s空p空,为了下标对应,s和p后移一格vector> f(n+1,vector(m+1));//f[i][j],表示所有s[1~i]和p[1~j]的匹配方案f[0][0] = true;//s空p空 , 有一种匹配方案for(int i = 0;i<=n;i++)for(int j = 1;j<=m;j++){if(j+1<=m&&'*'==p[j+1]) continue;//p[j+1]=='*' , 那么p[j]可以取0个,跳过p[j]的判断。if('*'!=p[j]) f[i][j] = i && f[i-1][j-1] && (p[j]==s[i]||p[j]=='.'); // i = 0 时,i -1 越界else if('*'==p[j]) f[i][j] = f[i][j-2] || i && (f[i-1][j] && (s[i] == p[j-1] || '.'==p[j-1]));//同上}return f[n][m];}
}; 

时间复杂度 O(n×m)O(n\times m)O(n×m) , nnn 是 sss 的长度,mmm 是 ppp 的长度 , 状态转移的时间复杂度 O(n×m)O(n\times m)O(n×m)。

空间复杂度 O(n×m)O(n\times m)O(n×m) dpdpdp 数组的空间复杂度 O(n×m)O(n\times m)O(n×m) 。

博主致语

理解思路很重要!
欢迎读者在评论区留言,作为日更博主,看到就会回复的。

AC

AC

相关内容

热门资讯

新场景激发新活力(新视窗·扩大...   中央经济工作会议指出,“扩大优质商品和服务供给。”消费新场景是新业态、新模式、新产品的系统集成,...
【世界说】日本官员“拥核言论”...   中国日报网12月24日电 日前,日本首相官邸一名负责安全保障政策的高官扬言“日本应拥有核武器”。...
外交部:日本首相官邸高官拥核言...   新华社北京12月24日电(记者刘杨、袁睿)外交部发言人林剑24日在例行记者会上说,此次日本首相官...
为什么保险配置顺序,比买什么更... 一对三十岁夫妻在二线城市打拼,丈夫做销售月均一万五,妻子做文员月入六千。有个一岁孩子,每月房贷四千五...
能抵物业费、大病支出、装电梯!...   中央经济工作会议12月10日至11日在北京举行,会议提出要深化住房公积金制度改革,有序推动“好房...
韩媒:日本强征韩籍军人遗属首次...   参考消息网12月24日报道 据韩联社12月23日报道,二战时期被日军强制征兵的韩籍遇难者遗属,2...
【这个城市有点潮】阿勒泰:在北...   当雪花飘然而至,新疆阿勒泰便开启“童话模式”,洁白的雪深厚松软,绵延无际。玉带般蜿蜒的冰湖、挂满...
总规模达到1.1万亿元 我国...   科技日报记者 崔爽  生物制造是未来物质生产重要形式,国际社会普遍认为生物制造有望成为第四次工业...
从家庭财务角度看,保险的真正作... 四十岁的中层管理者,每月收入两万五,是家里的经济支柱。妻子做兼职,每月收入三千,孩子上初中,家里每月...
家庭预算有限时,保险在财务体系... 一对刚结婚三年的年轻夫妻,丈夫在工厂做技工,每月收入七千,妻子在超市做收银员,每月收入四千五。两人要...