Leetcode 10号:正则表达式匹配
发布时间
阅读量:
阅读量

心路历程解析
这道题目存在一定难度,主要体现在需要综合考虑的条件较多,难以编写出简洁高效的代码;另外,题目中涉及的递推过程也较为复杂。参考了网络上的解法后,自行编写了一个尽可能清晰的AC解。
该题目属于动态规划类型:
状态定义为当前两个子串是否实现完全匹配
可选操作包括:s后移0或1位,p后移0、1或2位
返回结果表示当前子串是否达成匹配状态
注意的点:
1、该问题所涉及的递推关系式是按照从前到后的顺序进行构建的,而通常情况下,双字符串类问题更倾向于采用从后往前的分析方式。
2、尽管本题中包含多个条件判断语句,但其中大部分条件具有一定的相似性,可以通过适当的方式进行整合与简化。
解法:字符串动态规划
class Solution:
def isMatch(self, s, p):
@cache
def dp(part_s, part_p):
if part_p == '': return part_s == ''
全部评论 (0)
还没有任何评论哟~
