<qiyuangong>044_Wildcard_Matching_1.py
def isMatch( s, p):
    m, n = len(s), len(p)
    dp = [[False] * (n + 1) for _ in range(m + 1)]
    dp[0][0] = True
    for j in range(1, n):
        dp[0][j + 1] = dp[0][j] and p[j] == '*'
    for i in range(m):
        for j in range(n):
            if p[j] == '?' or p[j] == s[i]:
                dp[i + 1][j + 1] = dp[i][j]
            elif p[j] == '*':
                dp[i + 1][j + 1] = dp[i + 1][j] or dp[i][j + 1]
    return dp[m][n]
def sample_funcname ( var_0 , var_1 ) :
    var_3 , var_4 = len ( var_0 ) , len ( var_1 )
    var_9 = [ [ False ] * ( var_4 + 1 ) for var_7 in range ( var_3 + 1 ) ]
    var_9 [ 0 ] [ 0 ] = True
    for var_12 in range ( 1 , var_4 ) :
        var_9 [ 0 ] [ var_12 + 1 ] = var_9 [ 0 ] [ var_12 ] and var_1 [ var_12 ] == '*'
    for var_14 in range ( var_3 ) :
        for var_12 in range ( var_4 ) :
            if var_1 [ var_12 ] == '?' or var_1 [ var_12 ] == var_0 [ var_14 ] :
                var_9 [ var_14 + 1 ] [ var_12 + 1 ] = var_9 [ var_14 ] [ var_12 ]
            elif var_1 [ var_12 ] == '*' :
                var_9 [ var_14 + 1 ] [ var_12 + 1 ] = var_9 [ var_14 + 1 ] [ var_12 ] or var_9 [ var_14 ] [ var_12 + 1 ]
    return var_9 [ var_3 ] [ var_4 ]
