LeetCode題解(Offer19):正規表示式匹配的*和.實現(Python)
題目:原題連結(困難)
標籤:字串、動態規劃、動態規劃-狀態表格
解法 | 時間複雜度 | 空間複雜度 | 執行用時 |
---|---|---|---|
Ans 1 (Python) | O ( M × N ) O(M×N) O(M×N) | O ( M × N ) O(M×N) O(M×N) | 64ms (74.22%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一(動態規劃):
class Solution:
def isMatch(self, s: str, p: str) -> bool:
N1 = len(s)
N2 = len(p)
matrix = [[False] * (N2 + 1) for _ in range(N1 + 1)]
matrix[0][0] = True
for i in range(N1 + 1):
for j in range(1, N2 + 1):
if p[j - 1] == "*":
matrix[i][j] |= matrix[i][j - 2]
# print((i, j - 2), "->", (i, j))
if i > 0 and (p[j - 2] == "." or s[i - 1] == p[j - 2]):
matrix[i][j] |= matrix[i - 1][j]
# print((i - 1, j), "->", (i, j))
elif i > 0 and (p[j - 1] == "." or s[i - 1] == p[j - 1]):
matrix[i][j] |= matrix[i - 1][j - 1]
# print((i - 1, j - 1), "->", (i, j))
return matrix[N1][N2]
相關文章
- leetcode - 正規表示式匹配LeetCode
- leetcode題目10之正規表示式匹配LeetCode
- python 正規表示式匹配Python
- Leetcode 10. 正規表示式匹配LeetCode
- LeetCode-10. 正規表示式匹配(Python-re包)LeetCodePython
- 正規表示式匹配問題
- LeetCode 不只是題解(10.正規表示式匹配[困難])LeetCode
- 正規表示式匹配
- 正規表示式實現字元的模糊匹配功能示例字元
- 正規表示式的多行匹配
- 正規表示式 多行匹配
- 匹配字母正規表示式
- 正規表示式匹配原理
- 字串——正規表示式匹配字串
- Python正規表示式匹配字串中的數字Python字串
- 匹配正整數正規表示式
- SITA報文解碼匹配的正規表示式
- PostgreSQL中的模式匹配和正規表示式 - DasSQL模式
- 正規表示式教程之位置匹配詳解
- 正規表示式匹配漢字
- 匹配護照正規表示式
- 匹配小數正規表示式
- 匹配負數正規表示式
- 匹配整數正規表示式
- 匹配自然數正規表示式
- 匹配航班號正規表示式
- 正規表示式支配匹配模式模式
- JavaScript匹配中文正規表示式JavaScript
- 10. 正規表示式匹配
- Python正規表示式詳解Python
- 詳解 Python 正規表示式Python
- 匹配磁力連結的正規表示式
- 匹配A股程式碼的正規表示式
- 匹配HTML註釋的正規表示式HTML
- 匹配URL的正規表示式(推薦)
- npp++常用的匹配正規表示式
- 正規表示式同時匹配中英文及常用正規表示式
- 匹配浮點數正規表示式