isMatch = (text, pattern, row = 0, col = 0, memo = initMemo(text, pattern)) => {
    const hasSeen = (memo[row][col]);
    if (hasSeen) return memo[row][col];

    const isEqual = (col === pattern.length);
    const ans = isEqual
        ? row === text.length
        : check(text, pattern, row, col, memo);/* Time O(N * M) | Space O(N * M) */

    memo[row][col] = ans;
    return ans;
}
DP - Top Down
Matrix - Memoization
Time O(N * M) | Space O(N * M)
https://leetcode.com/problems/regular-expression-matching/
@param {string} s
@param {string} p
@return {boolean}