#algo/dynamic-programming #dev/regex ## Notes Same as [[LeetCode 0010 - Regular Expression Matching]]. - `dp[i][j]` represents the `s[..i]` matches `p[..j]`. ## Problem ### Problem Description Given an input string (`s`) and a pattern (`p`), implement wildcard pattern matching with support for `?` and `*` where: - `?` Matches any single character. - `*` Matches any sequence of characters (including the empty sequence). The matching should cover the **entire** input string (not partial). ### Examples #### Example 1 - **Input:** `s = "aa"`, `p = "a"` - **Output:** `false` - **Explanation:** `"a"` does not match the entire string `"aa"`. #### Example 2 - **Input:** `s = "aa"`, `p = "*"` - **Output:** `true` - **Explanation:** `'*'` matches any sequence. #### Example 3 - **Input:** `s = "cb"`, `p = "?a"` - **Output:** `false` - **Explanation:** `'?'` matches `'c'`, but the second letter is `'a'`, which does not match `'b'`. ### Constraints - `0 <= s.length, p.length <= 2000` - `s` contains only lowercase English letters. - `p` contains only lowercase English letters, `'?'` or `'*'`.