wap手机网站源码深圳网站建设服务哪家专业
wap手机网站源码,深圳网站建设服务哪家专业,上海到北京高铁票价多少,建盏公司简介一刷~ 给你一个字符串 s 和一个字符规律 p#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配#xff0c;是要涵盖 整个 字符串 s的#xff0c;而不是部分字符串。 有几个用例超时#xff0c;容我三思…一刷~ 给你一个字符串 s 和一个字符规律 p请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配是要涵盖 整个 字符串 s的而不是部分字符串。 有几个用例超时容我三思。
目前的思路递归判断是否满足匹配条件。
class Solution:def isMatch(self, s: str, p: str) - bool:if len(s) 0 and len(p) 0:return Trueif len(s) 0 and len(p) 1 and p[1] *:return self.isMatch(s, p[2:])if len(s) * len(p) 0:return Falseif len(p) 1:if p[0] .:return len(s) 1else:return len(s) 1 and s[0] p[0]else:if p[1] *:if p[0] .:return self.isMatch(s, p[2:]) or self.isMatch(s[1:], p)else:return self.isMatch(s, p[2:]) or (s[0] p[0] and self.isMatch(s[1:], p))else:if p[0] .:return self.isMatch(s[1:], p[1:])else:return p[0] s[0] and self.isMatch(s[1:], p[1:])定睛一看s、p的长度都不超过20想到用二维动态规划果然过了但是动态方程推导过程蛮坎坷的两个小时过去了- - class Solution:def isMatch(self, s: str, p: str) - bool:m, n len(s), len(p)dp [[0]*(n1) for i in range(m1)]dp[0][0] 1for i in range(1, n1):if p[i-1] *:dp[0][i] dp[0][i-2]for i in range(1, m1):for j in range(1, n1):if p[j-1] *:if dp[i][j-2]:dp[i][j] 1continueif p[j-2] .:if dp[i-1][j]:dp[i][j] 1else:if s[i-1] p[j-2] and dp[i-1][j]:dp[i][j] 1elif p[j-1] .:dp[i][j] dp[i-1][j-1]else:if s[i-1] p[j-1]:dp[i][j] dp[i-1][j-1]return dp[m][n] 1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89544.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!