Suponha que eu tenha duas cordas. Chamá-los de e . Nenhuma das cadeias possui caracteres repetidos.
Como posso encontrar a menor seqüência de operações de inserção, movimentação e exclusão que transforma em B , onde:
insert(char, offset)
inserechar
no dadooffset
na stringmove(from_offset, to_offset)
move o personagem atualmente em deslocamentofrom_offset
para uma nova posição para que ele tenha deslocamentoto_offset
delete(offset)
exclui o caractere emoffset
Exemplo de aplicativo: você faz uma consulta ao banco de dados e mostra os resultados no seu site. Mais tarde, execute novamente a consulta do banco de dados e descubra que os resultados foram alterados. Você deseja alterar o que está na página para corresponder ao que está atualmente no banco de dados usando o número mínimo de operações DOM. Há duas razões pelas quais você deseja a menor sequência de operações. Primeiro, eficiência. Quando apenas alguns registros são alterados, você deseja certificar-se de executar operações vez de DOM, pois elas são caras. Segundo, correção. Se um item for movido de uma posição para outra, você deseja mover os nós DOM associados em uma única operação, sem destruí-los e recriá-los. Caso contrário, você perderá o estado de foco, o conteúdo de<input>
elementos e assim por diante.
move
operações, portanto, pode ser necessário variar ao interpretar a pontuação.