Diciamo che ho 2 stringhefacendo due stringhe in un unico
AAABBBCCCCC
e
AAAABBBBCCCC
per rendere queste stringhe il più possibile simili, visto che posso rimuovere solo i caratteri che dovrei
- eliminare l'ultimo C dalla prima stringa
- eliminare l'ultimo A e l'ultimo B dalla seconda corda,
in modo che diventino
AAABBBCCCC
quello che sarebbe un algoritmo efficiente per scoprire quali caratteri da rimuovere da ogni stringa?
Attualmente sto schiacciando le mie cellule cerebrali pensando a una solluzione che coinvolge sottostringhe delle stringhe, cercandole io e l'altra stringa.
L'ordine dei caratteri da rimuovere è importante? Ad esempio, devi sapere che è il 4 ° A e l'ultimo C che devono essere rimossi, o hai solo bisogno di sapere che c'è un A e un C da rimuovere? – Nadh
Se l'ordine dei caratteri da rimuovere non ha importanza, non ordinerebbe entrambe le stringhe e sottraendo quella più piccola dal lavoro più grande? – Nadh
l'ordine non ha importanza all'interno di gruppi dello stesso gruppo degli stessi caratteri, ad esempio nella stringa 'ÀABBAA' la rimozione del primo carattere equivale a rimuovere il secondo, ma la rimozione del primo carattere non equivale alla rimozione l'ultimo. – bigblind