Programação Dinâmica (8)

 

Definir um bidimensional matriz dp, dp [i] [j ] indica os primeiros caracteres j antes i-ésimo carácter do s e p são combinados
DP [i] [j] é calculado como o

    dp primeiro conjunto [0] [0 ] é verdade, porque os dois caracteres nulos é correspondido
    se i = 0, então representado por uma string vazia para coincidir com o primeiro j caracteres p, esperamos p [j] ==, antes de tais personagens não aparecem, dp [ i] [j] = P [ j] == * e dp [i] [j-2]
    , se s [i] == P [j ] , em seguida, um olhar directo i-1, j-1, e não é combinado , dp [i] [j] = dp [i-1] [j-1]
    a última é a situação a ser tratada, há duas opções, repita o caractere anterior de cada vez, ou não esse personagem, enquanto um pode igualar na linha
        não antes uma personagem, dp [i] [J- 2]
        repetição, é necessária para satisfazer a condição P [j-1] == s [i] ou P [j-1] == '', dp [I-1] [ j]

e finalmente retorna dp [m] [n], que pode corresponder resultado

classe Solução:
    DEF IsMatch (Ser, S: STR, P: STR) -> BOOL:
        S, P = '#' + S: '#' P +
        m, n- = len (S), len (P)
        de DP = [[Falso] * para _ em n-Escala (m)]
        DP [0] [0] = verdadeira
        
        para I em Gama (m):
            em J Faixa para (1, n.):
                IF I == 0:
                    DP [I] [J] = J> 1 e P [j] == '*' e DP [I] [J-2].
                elif P [ J] em [S [I],] '':
                    DP [I] [J] DP = [1-i] [J- 1]..
                elif P [J] == '*':
                    DP [I] [J ] = J> 1 e DP [I] [J-2] ou P [J- 1] em [S [I].,] e DP [I-1] [J].. ''
                a outra:
                    DP [I] [ J] = false
        retorno dp [-1] [- 1]

autor: Loick
link: https: //leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/solution/dong -tai-gui-hua-er / wei-shu-zu-by-Loick
fonte: botão estadia (LeetCode)
copyright reservados pelos autores. reimpressão comercial entre em contato com o autor autorizado, reimpressão não comercial por favor, indicar a fonte.

Acho que você gosta

Origin www.cnblogs.com/topass123/p/12637561.html
Recomendado
Clasificación