动态规划

[leetcode10] 正则表达式匹配

2018-07-23  本文已影响0人  安琪拉的小迷妹

题目链接

https://leetcode.com/problems/regular-expression-matching/description/

解析链接

https://blog.csdn.net/fzzying3/article/details/42057935

http://www.cnblogs.com/zuoyuan/p/3781773.html

1.边界匹配

将s和p前面,假设一个空字符

dp[0][0],两个空字符匹配,是True

然后,p中的空字符,匹配s,都是False

然后,s中的空字符,用p来匹配,如果p[i]是*的话,把p向前移动两个进行匹配。

2.状态转移方程

1.如果 当前状态不是 ”*”

a.dp[i][j]=dp[i][j-1]       *代表用了前面的字母1次

b.dp[i][j]=dp[i][j-1]       *代表用了前面的字母1次

c. dp[i][j]=dp[i-1][j]  and s[i-1]==p[j-2] or p[j-2]==".     *代表用了前面的字母多次

s[i-1]==p[j-2]是当前的字符与p字符匹配

上一篇 下一篇

猜你喜欢

热点阅读