From 4271bc0522f5609521a06de19e56c2c7d89a0aa5 Mon Sep 17 00:00:00 2001 From: Yashasvi Misra Date: Sun, 24 Oct 2021 09:32:25 +0000 Subject: [PATCH] Add Wildcard Matching --- .../Wildcard Matching/Wildcard Matching.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 LeetCode/Problems/Python/Wildcard Matching/Wildcard Matching.py diff --git a/LeetCode/Problems/Python/Wildcard Matching/Wildcard Matching.py b/LeetCode/Problems/Python/Wildcard Matching/Wildcard Matching.py new file mode 100644 index 00000000..5580c44b --- /dev/null +++ b/LeetCode/Problems/Python/Wildcard Matching/Wildcard Matching.py @@ -0,0 +1,16 @@ +class Solution: + def isMatch(self, s, p): + dp = [[False for _ in range(len(p)+1)] for i in range(len(s)+1)] + dp[0][0] = True + for j in range(1, len(p)+1): + if p[j-1] != '*': + break + dp[0][j] = True + + for i in range(1, len(s)+1): + for j in range(1, len(p)+1): + if p[j-1] in {s[i-1], '?'}: + dp[i][j] = dp[i-1][j-1] + elif p[j-1] == '*': + dp[i][j] = dp[i-1][j-1] or dp[i-1][j] or dp[i][j-1] + return dp[-1][-1]